2011-10-05 1 views
18

からラベルを取得します。これを行う正しい方法は何ですか。IOSは、私が試したので、私は自分自身からラベルの属性を取得したいタグ番号

+0

どのようにタグを設定し、タグ '1'で' self'のサブビュー(またはツリーのさらに下にある)のみを表示しますか? –

+0

[label setTag:1]のようにタグを設定しました。別の機能で。ラベルはトップサブビューにはありませんが、トップビューにあります –

+0

あなたが望むラベルを取得するには、 'self subviews'を列挙する必要があります。あなたの試みはうまくいかないでしょう。 –

答えて

36

私は間違っていたことを理解しました。明らかに

UILabel *label = (UILabel *)[self viewWithTag:1]; 

は、タグ1でmyラベルのインスタンスへのポインタを作成します。これは実際には機能します。何がうまくいかず、私が問題を抱えていた理由は、というラベルをリリースしようとしたことが原因です。リリースラベルのリリースは、[self viewWithTag:1]と同じですが、これは私がやろうとしたものではありません。私は、ビューコントローラで午前スウィフト3については、

0

、私はタグによってビューを取得するために、このコードを呼び出す必要があります:タグでのUIViewControllerでUILabelを取得するためのObjective C

self.mInstructionView = self.view.viewWithTag(1) 
2

。ここにあなたのUILabelself.viewに追加されると、私はそうあなたがUITableView

UILabel *label = (UILabel *)[cell viewWithTag:1]; 

セルで[yourview viewWithTag:1];

UILabel *label = (UILabel *)[self.view viewWithTag:1]; 

としてUILabelを追加したビューを渡すことができ、仮定を取る

UITableViewCellの目的でありますとして

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"]; 

let cell:UITableViewCell = self.tableView.dequeueReusableCell(withIdentifier: "Cell") as UITableViewCell! 

let label:UILabel = cell.viewWithTag(1) as! UILabel 

UITableViewでスウィフト3

let label:UILabel = self.view.viewWithTag(1) as! UILabel 

において:タグ(viewWithTag)を使用する前に、そうでない場合はアプリはクラッシュされ、そのタグ番号を持つオブジェクト(UILabel)があるはず。

あなたはストーリーボードまたはXIB経由で任意のオブジェクトのタグをプログラムで設定できます。

+0

スウィフト3の答えをありがとう、私に役立った。 –

関連する問題