簡體   English   中英

iOS:使用新視圖替換IBOutlet

[英]iOS: Replace IBOutlet with new view

我有一個在IB中創建的UITableView,並且在視圖控制器中有一個出口tblHome。 我想要這樣,如果用戶未運行iOS7,則該表將是純色的(它按IB中的分組設置)。

我知道一旦創建樣式便無法更改它,因此我將不得不對其進行更改。 如何用新表替換現有表?

以下沒有用

if([[[UIDevice currentDevice] systemVersion] floatValue] < 7)
{
    tblHome = [[UITableView alloc] initWithFrame:CGRectMake(tblHome.frame.origin.x, tblHome.frame.origin.y, tblHome.frame.size.width, tblHome.frame.size.height) style:UITableViewStylePlain];
}

這里沒有足夠的信息。 您在哪里進行此檢查並覆蓋?

如果您不使用initWithNibName:來初始化UIViewController,它將不會從IB提取設置,而您必須通過addSubview:手動添加tableView addSubview:

使用調試器逐步執行代碼,並確保在iOS 7以下設備上,該行實際上按預期執行。

您在初始化表格視圖時設置表格樣式。

像下面一樣以編程方式使用UITableView

 NSArray *vComp = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[vComp objectAtIndex:0] intValue] >= 7){
    tblHome = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 480) style:UITableViewStyleGrouped];
 }
else{
     tblHome = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 480) style:UITableViewStylePlain];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM