- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
static NSString *cellID = @"Cell Identifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (!cell)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
[cell.contentView setBackgroundColor: [UIColor clearColor]];
UIImage * box = [UIImage imageNamed: @"box.png"];
UIView * cellbackgroundview = [[UIView alloc] initWithFrame: CGRectMake(7, 0, box.size.width, box.size.height)];
[cellbackgroundview setBackgroundColor: [UIColor colorWithPatternImage: box]];
UILabel * nameLabel = [[UILabel alloc] initWithFrame: CGRectMake( 0, 15, box.size.width, 19.0f)];
nameLabel.text = name;
[nameLabel setTextColor: [UIColor colorWithRed: 79.0f/255.0f green:79.0f/255.0f blue:79.0f/255.0f alpha:1.0f]];
[nameLabel setFont: [UIFont fontWithName: @"HelveticaNeue-Bold" size: 18.0f]];
[nameLabel setBackgroundColor: [UIColor clearColor]];
nameLabel.textAlignment = NSTextAlignmentCenter;
nameLabel.tag = 1;
.....
}
((UILabel *)[cell viewWithTag:1]).text = name;
((UILabel *)[cell viewWithTag:2]).text = pitch;
最佳答案
我不同意答案。我认为使用标签通常不是一个好习惯,就您而言,这只是懒惰。您应该创建一个 UITableViewCell
子类,标签作为属性。
迈克·凯勒 wrote a post about it :
Let’s assume you aren’t trying to store data in a view’s tag. Instead, you just want a quick and dirty way to grab a reference to a view. Is it OK to use tags in these situations?
Well, in almost every case I can think of, it is better to store a reference to the view using a real property somewhere, whether that’s an IBOutlet or just a regular property on your class.
Do you need to add some custom views to a UITableViewCell? Subclass it and add real properties. (...)
By using real properties you get stronger typing, better naming, better visibility of the moving parts of your app, and you don’t have to down-cast viewWithTag’s UIView* return type. You also get better performance because viewWithTag: must traverse the view hierarchy for every call.
To me, using tags seems to be another pattern driven purely by laziness.
关于ios - 为什么使用 viewWithTag 高效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17845896/
我的UICollectionView有一个UILabel和一个UIImageView,我认为它们并且工作得很好,如下所示: func collectionView(collectionView: U
我对函数 viewWithTag 有一个奇怪的行为。 我的 Storyboard看起来像这样:-viewController --UIScrollView1(应该是一个 UIView 但还没有改变)
我正在尝试创建一系列带有标签的标签,然后更新文本。但是,只有最后一个标签会被更新。如何更新所有标签或特定的标记标签? 此示例应创建 4 个标签,其中包含数字 1、2、3、4。然后应该用 A、B、C、D
我正在尝试使用标签名称显示单元格标签文本。在我的主 Storyboard的默认单元格中,我添加了一个标签并将标签名称添加为 70。我正在尝试使用以下方法加载该数据。没有显示出来。请帮我。 [Crop
我有一个函数包括以下行: var chanceLabel : UILabel? = self.view.viewWithTag(uni_tag) as? UILabel 我的 Storyboard的结
我有 3 个 UIImageView 作为缩略图,带有标签:1、2、3。 以下方法: - (IBAction)showImage:(UIGestureRecognizer *)sender { i
我通过 Storyboard设计了 tableView,在一个单元格中我有一个按钮和一个标签。按钮在 Storyboard上有标签 1 和标签在 Storyboard上有标签 2。在 cellForR
我对 viewWithTag 有疑问。我使用此代码以编程方式从我的 Storyboard 中调用 UIViewController。然后我想设置 2 个 imageView 并使用 viewWithT
如果我有以下 View 层次结构 UIView --- 顶层 View --UIButton --UIView ----UILabel ----UILabel -- 标签 = 1 如何从顶级 View
在 IB 中查看我有很多项目(包括 View 本身)。只有一项具有标签 0,但以下行适用于除标签 0 之外的任何 UITextBox。请注意,只有一个 UITextBox 具有标签 0,原因是: (U
static NSString *cellID = @"Cell Identifier"; UITableViewCell *cell = [tableView dequeueReusableCell
我在 Storyboard中有一个带有自定义单元格的表格 View 单元标识符是:MyCustomCellIdentifier 标签的框架是:{ { 15.0f, 178.0f }, { 280.0f
我有一个 UITableView,其中的单元格包含一个 TextView ...我最初使用它来设置它们,但使用的是 viewWithTag: UITableViewCell *cell = [tabl
例如, UIImageView *iconView = [cell.contentView viewWithTag:TestTag]; 我记得如果我不显式转换类型之前会有警告,但现在 Xcode 没有
我试图通过在按下 UIButton 时调用 viewWithTag 来重用标签。代码第一次执行时看起来没问题,但是由于第 7 行多次执行它是否会泄漏?从 superview、alloc 和 addSu
我目前正在使用 nibs,需要根据国家/地区以编程方式更改基于其标签的图像。我试过: vc.view.viewWithTag(8).image = UIImage(named:"image") 但它会
我正在尝试将 UIbutton 添加到特定的 StackView。 我想出的是 viewWithTag(2)?.addSubview(button) 这样实现有错吗?或者有什么更好的实现方法吗? 最佳
我有 6 行由自定义单元格组成的 tableView。 自定义单元格有一个 UILabel 和一个 UISwitch。在“cellForRowAtIndexPath:”方法中,我有: stat
我想隐藏 UILabel 但我无法将我的标签隐藏在 ViewDidLoad 之外或“在 ViewDidLoad 之内但在 for 循环之外”。在 for 循环内的 ViewDidLoad 中,我可以实
我开始了一个新项目,我想知道是否有人试验过哪个更有效,在 .h 文件中声明一个对象(例如 UIButton)或在 viewDidLoad 方法中创建对象并使用 viewWithTag: 方法在创建元素
我是一名优秀的程序员,十分优秀!