0

自動レイアウト モードの IOS 6。

カスタムUITableViewCellを備えたUITableViewがあります。

2 つの UILabels (ヘッダーとステータス) があります。

アイテムのステータスが空の場合、ステータス制約の幅をゼロに設定して非表示にする必要があります。どうすればこれを行うことができますか?

次の手法で UITableViewCell 内のラベルにアクセスしています。

UIView *status = (UIView*)[cell.contentView viewWithTag:10];
status.text=@"Sample text";
4

1 に答える 1

0

UITableViewCell内の要素の制約にアクセスする解決策を見つけました

1-st 私はサブクラス UITableViewCell です

次に、IBOutlet を追加します

@interface UICustomTableViewCell : UITableViewCell
{
IBOutlet NSLayoutConstraint* statusWidth;
}

@property(nonatomic,retain)NSLayoutConstraint *statusWidth;

@end

次に、それをストーリーボードのセル プロトタイプに割り当て、ステータス幅の制約を IBOutlet にリンクします。

セルをデキューするとき

UICustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

ステータス制約をゼロに設定できます。

cell.statusWidth = 0;
于 2013-08-21T11:23:52.367 に答える