Twitter を統合したアプリを作成しようとしています。ユーザーが共有ボタンをクリックすると、このボタンの画像が変更されます。これはすでに機能していますが、ユーザーが他のビューをクリックして最後に共有ボタンでビューをクリックすると、画像は再び古いものになります。これを修正する方法がわからないので、アドバイスをいただけると
助かります:)コードは次のとおりです。
私の.hファイルで:
- (IBAction)postToTwitter:(id)sender;
@property (weak, nonatomic) IBOutlet UIButton *tweetBTN;
...そして私の.mファイルで:
- (void)viewDidLoad
{
//some code here
if ([[UIImage imageNamed:@"twitter02_dark.png"] isEqual:_tweetBTN.currentImage]) {
UIImage *twitterImage2 = [UIImage imageNamed:@"twitter02_active.png"];
[_tweetBTN setImage:twitterImage2 forState:UIControlStateNormal];
}
else {
UIImage *twitterImage1 = [UIImage imageNamed:@"twitter02_active.png"];
[_tweetBTN setImage:twitterImage1 forState:UIControlStateNormal];
}
}
- (IBAction)postToTwitter:(id)sender {
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
{
SLComposeViewController *tweetSheet = [SLComposeViewController
composeViewControllerForServiceType:SLServiceTypeTwitter];
//some code here
UIImage *twitterImage2 = [UIImage imageNamed:@"twitter02_dark.png"];
[_tweetBTN setImage:twitterImage2 forState:UIControlStateNormal];
}
}
誰かが私を助けてくれたら最高です...
更新:
私は答えのように修正しました...しかし、私はt get one thing: after first launching the app the image should be active (because it isn
「ツイート」しません)...
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"tweeted"]) {
UIImage *twitterImage = [UIImage imageNamed:@"twitter02_dark.png"];
[_tweetBTN setImage:twitterImage forState:UIControlStateNormal];
}
else {
UIImage *twitterImage = [UIImage imageNamed:@"twitter02_active.png"];
[_tweetBTN setImage:twitterImage forState:UIControlStateNormal];
}
…でも画像が暗い…なんで?その後、このifメソッドは正常に機能します...私には非常に奇妙です