我想从自己获得标签的属性,所以我试过:
UILabel *label = (UILabel *)[self viewWithTag:1];
Run Code Online (Sandbox Code Playgroud)
但我得到的只是一个空的UILabel,而不是我正在寻找的标签.什么是正确的方法来做到这一点.
J M*_*Max 40
所以我弄清楚我做错了什么.明显
UILabel *label = (UILabel *)[self viewWithTag:1];
Run Code Online (Sandbox Code Playgroud)
使用标记1创建指向我的标签实例的指针.这确实有效.什么不起作用,为什么我遇到问题来自试图发布标签.释放标签与release [self viewWithTag:1]相同,这不是我想要做的.
在Objective C中,通过标签在UIViewController中获取UILabel。
下面我就假设作为您UILabel添加的self.view,否则,你可以通过在您添加视图UILabel作为[yourview viewWithTag:1];
UILabel *label = (UILabel *)[self.view viewWithTag:1];
Run Code Online (Sandbox Code Playgroud)
在 UITableView
UILabel *label = (UILabel *)[cell viewWithTag:1];
Run Code Online (Sandbox Code Playgroud)
单元格是UITableViewCellas 的对象
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
Run Code Online (Sandbox Code Playgroud)
在Swift 3中
let label:UILabel = self.view.viewWithTag(1) as! UILabel
Run Code Online (Sandbox Code Playgroud)
在 UITableView
let cell:UITableViewCell = self.tableView.dequeueReusableCell(withIdentifier: "Cell") as UITableViewCell!
let label:UILabel = cell.viewWithTag(1) as! UILabel
Run Code Online (Sandbox Code Playgroud)
注意:在使用标签(viewWithTag)之前,应使用该标签号的对象(UILabel),否则应用程序将崩溃。
您可以通过情节提要或XIB以编程方式为任何对象设置标签。