1

これは私のアクション UIButton です:

-(IBAction)favoriteButtonPressed:(id)sender
{
if (favoriteButtonSelected == 0) {

    [sender setSelected:YES];

    favoriteButtonSelected = 1;
    [sender setImage:[UIImage imageNamed:@"favoritedItem.png"]];
    [selectedObject setValue:@"Yes" forKey:@"Favorite"];

} else {

    [sender setSelected:NO];

    favoriteButtonSelected = 0;
    [sender setImage:[UIImage imageNamed:@"notFavorite.png"]];
    [selectedObject setValue:@"No" forKey:@"Favorite"];
}
}

viewDidLoadでボタンへの参照を作成する方法は? 次のコードを機能させるには:

- (void)viewDidLoad
{
[super viewDidLoad];

if ([[selectedObject valueForKey:@"Favorite"] isEqual:@"Yes"])  {

    [favoriteButton setImage:[UIImage imageNamed:@"favoritedItem.png"]];
    [favoriteButton setSelected:YES];
    favoriteButtonSelected = 1;

} else {

    [favoriteButton setImage:[UIImage imageNamed:@"notFavorite.png"]];
    [favoriteButton setSelected:NO];
    favoriteButtonSelected = 0;
}
}

進行状況を編集:

今、私はこのようにしました: UIButton からアシスタント エディターの ViewController に Ctrl キーを押しながらドラッグします。接続:アウトレット、名前:favoriteButton、タイプ:UIButton、ストレージ:weak。しかし、エラーはまだあります。+ 合成のエラー & viewDidUnload のエラー..提案?

Ctrl キーを押しながらドラッグしてプロパティを追加した View Controller の Assistant Editor ヘッダー:

@interface DetailViewController : UIViewController {
IBOutlet UIScrollView *viewScroller;
}

@property (nonatomic, strong) IBOutlet UILabel *mylLabel;

@property (nonatomic, strong) NSString *selectedObj;

@property (strong, nonatomic) NSArray *detailsDataSource;
@property int detailIndex;
@property (weak, nonatomic) IBOutlet UIButton *favoriteButton; //The added property

@end
4

3 に答える 3

2

ボタンからビューコントローラのヘッダーへのドラッグを制御して、プロパティを作成します。(これは、アシスタントモード、右上の2番目のボタンで実行できます)。

次に、そのプロパティを使用してどこからでもボタンを参照できます

于 2012-08-10T01:25:17.110 に答える
2

必要なのはボタンのIBOutletです。

ボタンをXIBファイルからこのクラスのヘッダーにCtrlキーを押しながらドラッグして、favoriteButtonという名前のIBOutletプロパティを作成できます。

于 2012-08-10T01:26:45.740 に答える
0

最新バージョンの Xcode を使用していない限り、お気に入りのボタンを @synthesize する必要があります。

人々に推測させているだけのエラーメッセージを投稿する必要があります。

于 2012-08-10T06:00:34.647 に答える