4

私はiPhone用のアプリを書いていて、2つの異なるビューを持つビューコントローラーを作成しようとしています。そのため、ストーリーボードの最初のビューの上にサブビューを作成しました。新しいビュー用に.hにアウトレットを作成しました。ボタンが押された後にresultsViewを表示したいので、プロパティでビューを非表示に設定します。

@interface ViewController : UIViewController 
{
UIView *resultsView;
}
@property (nonatomic, retain) IBOutlet UIView *resultsView;
- (IBAction)buttonTapped:(id)sender;

私の.mには次のコードがあります

#import "ViewController.h"


@interface ViewController ()

@end

@implementation ViewController

@synthesize resultsView;

- (IBAction)scanButtonTapped:(id)sender
{
[resultsView setHidden = NO];
}

私も試しました

resultsView.hidden = NO;

これらはどちらも機能せず、NSLogでresultsView.hiddenのBOOLを取得しようとしましたが、それでもYESでした。

4

4 に答える 4

7

resultsViewisNULLまたはの場合nil、InterfaceBuilderまたはコードで適切に割り当てていません。ストーリーボード/xibファイルのアウトレット接続をドラッグするか、次のようなコードで割り当ててください。viewWillAppear

関数が呼び出されない場合、アクションはInterfaceBuilderのボタンにリンクされていません。正しく接続されていることを確認するには、Ctrlキーを押しながらクリック(または右クリック)してボタンからView Controllerにドラッグし、表示される[scanButtonTapped送信済みアクション]リストから選択します。

于 2012-07-30T18:42:34.153 に答える
2

[? setHidden:]別のオプション-UIThreadでコードを実行していることを確認します

于 2016-09-12T10:08:44.923 に答える
1

最も可能性の高い説明はresultsView、hiddenプロパティを設定しようとするとidnilになることです。

コードを確認して初期化resultsViewし、さらにヘルプが必要な場合は、コードの関連部分を投稿してください。

于 2012-07-30T18:41:17.537 に答える
0

を設計してい@IBDesignable UIViewて、swiftを使用している場合、どういうわけかview.hidden = isHidden機能しません。

回避策は次のとおりです。

view.setValue(isHidden, forKey: "hidden")

これが誰かの助けになることを願っています。

于 2016-07-27T07:55:34.740 に答える