2015-02-10 56 views
3

我有故事板中的視圖控制器,並在控制器中結合UILabel和ui集合視圖。然而,每次我更改UILabel文本時,它都會觸發自動佈局,這表明我獲得了視圖佈局和視圖佈局事件。我不想更改文本來觸發自動佈局。但是當我使用self.XCategoryLabel.translatesAutoresizingMaskIntoConstraints = NO;更改UILabel文本不觸發自動佈局

它不起作用。

如何讓UILabel文本更改不觸發自動佈局?我在這個控制器中使用自動佈局,但我不想讓標籤觸發它。

+0

爲什麼你不想讓標籤觸發它?佈局是否在爲您的收藏視圖做些什麼? – rdelmar 2015-02-10 02:30:01

+0

我有一些觸摸事件與另一個視圖,使用戶可以平移和拖動,並且當使用此標籤時,每當我更新UICollectionView的dataSource時,我也會更改標籤。但是,如果標籤觸發自動佈局,觸摸事件將打破,不光滑 – Wingzero 2015-02-10 02:39:33

+0

嗯,我不認爲這是可能的,當使用自動佈局沒有標籤觸發這些方法,當你設置字符串。你怎麼做你的鍋?您是否使用約束或設置框架來移動視圖?該視圖使用自動佈局嗎? – rdelmar 2015-02-10 02:41:20

回答

2

我在Storyboard中添加一個視圖,併爲其添加約束。然後我通過代碼將UILabel添加到此視圖中,並且不是Label.translatesAutoresizingMaskIntoConstraints設置爲NO

然後它不會觸發viewDidLayout和viewWillLayout。

+0

這不是完美的解決方案,但它確實解決了我的問題。我爲標籤添加容器視圖的原因是試圖將UILabel與其他視圖隔離開來。您可以嘗試在故事板中直接添加UILabel,並添加適當的約束,而不是將'translatesAutoresizingMaskIntoConstraints'設置爲NO。看看它是如何工作的 – Wingzero 2015-02-10 03:31:53