-1

CustomViewControllerのメソッドviewDidLoadに次のコードを実装して、必要に応じてラベルの表示のオン/オフを切り替えました。

- (void)viewDidLoad
{
 [super viewDidLoad];

 myLabel.hidden=NO;

if (x==1) {

   myLabel.hidden=YES;//here is correctly hidden
}
else {
    [self.view bringSubviewToFront:myLabel];

    if(!myLabel.hidden){

      NSLog(@"I'm not hidden!");// the log displays correctly! so myLabel is not Hidden but I can't see it!
      [self.view bringSubviewToFront:myLabel];
    }
}

MyLabelはCustomViewController.h( "IBOutlet UILabel * myLabel;")で宣言され、Xibファイルの対応するUILabelインターフェイスに接続されます。

その「隠された」プロパティが偽であっても、なぜ私はそれを見ることができないのですか?

PsUILabelテキストはxibファイルのUILabelインターフェースに割り当てられます

ありがとうルカ

解決したありがとうみんな私は愚かだと感じています。ラベルはステージから外れていたので、それを見ることができました。私はそれを再配置しただけで、今はうまく機能しています。

4

4 に答える 4

6

コードにタイプミスがあります。アウトレットはそうであるようですmyLabelが、ifステートメントはmylabel(大文字の「L」を使用する必要があります)を使用しています。また、このプロパティのゲッターは予想どおりではないことに注意してくださいisHiddenhiddenこれは問題の原因ではありませんが、Appleはドキュメントに記載しているので、言及する価値があると思いました)。

編集:

あなたが言った:

MyLabelはCustomViewController.h( "IBOutlet UILabel * infoPostRist;")で宣言され、Xibファイルの対応するUILabelインターフェイスに接続されます。

infoPostRistでは、その代わりにチェックしてはいけませんmyLabelか?

于 2012-05-09T10:19:56.547 に答える
0

またはでコードを試しました(void)viewWillAppear:(BOOL)animated- (void)viewDidAppear:(BOOL)animated

ビューコントローラがロードされているときにビューを表示/非表示にすると、正しく機能しない場合があります。

于 2012-05-09T11:16:58.707 に答える
0

代わりに、ビューから削除してみることができます:

[myLabel removeFromSuperview];
于 2012-05-09T10:32:51.180 に答える
0

知識のために、私は自分の質問に答えます:問題は、ラベルがステージから外れていて、それを見ることができなかったということでした。私はそれを再配置しただけで、今はうまく機能しています

于 2012-05-21T07:13:37.703 に答える