iOS storyboard 怎麼方便替換已有控制項?
巴扎黑
巴扎黑 2017-06-24 09:44:22
0
2
1086

在已有專案中使用了錯誤的控制項類型:

#怎麼能方便的將UITextField替換成UILabel,而不用新建(拖曳)一個控制項。


感謝Chris的解惑;
如果介面很多,可以指定Label#標記,在程式碼裡搜尋來快速定位到控制項.

#
巴扎黑
巴扎黑

全部回覆(2)
淡淡烟草味

右鍵xib或storyboard, Open As -> Source Code . 找到textField,修改為label. 再用interface builder打開就可以了, 修改後會保留原來的約束和Frame.

为情所困

法一:
寫一個類別CustomTextField,繼承自UITextField,然後在可視化介面讓你的所有UITextField控制項繼承它

CustomTextField中禁掉所有觸摸事件,基本上就與UILabel的表現一致了
如有必要,重寫UITextField的系統方法,不調用super方法,例如覆蓋掉UIAlertView的點擊事件

-(void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated{
//    [super dismissWithClickedButtonIndex:buttonIndex animated:animated];
    return;
}

法二:
增加UITextField的分類擴展,然後利用runtime的method swizzling交換系統方法,這樣你所有的UITextField就會變得跟UILabel一樣了。 。 。慎用! ! !

最後總結,有這閒工夫不如還是一個刪除替換容易些

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板