私は自分の問題に対する答えを高低で探してきました。私は UIActionSheet を持っていて、ユーザーがボタンを押してはいけないボタンを押しようとすると、それを起動しています。うまく機能しますが、現在の操作が行われたことをユーザーに知らせる UIAlert を起動しようとしています。停止し、「続行」を押す必要があります... 私の問題は - (void) actionSheet にあります.... メソッドが actionSheet によって呼び出されていないか、buttonIndex が正しく設定されていません。
.h
#import <UIKit/UIKit.h>
@interface DVRRemote : UIViewController <UIActionSheetDelegate>
@property (nonatomic) BOOL pwrOff;
@property (nonatomic) BOOL dvrState;
@property (nonatomic) BOOL playState;
@property (nonatomic) BOOL rcdState;
@property (nonatomic) BOOL rcdPlay;
@property (strong, nonatomic) IBOutlet UISwitch *pwrSwitch;
@property (strong, nonatomic) IBOutlet UITextField *dvrStateLbl;
@property (strong, nonatomic) IBOutlet UITextField *PwrLbl;
- (IBAction)buttonPressed:(UIButton *)sender;
- (IBAction)pwrPressed:(UISwitch *)sender;
@end
ここにコードがUIActionSheet
ありUIAlertView
ます...助けてください。この作業はすでに 2 週間遅れています。
.m
-(IBAction)buttonPressed:(UIButton*)sender
{
if (_pwrOff == NO)
{
if (_rcdPlay == NO)
{
if ([sender.currentTitle isEqual: @"Play"])
{
_dvrStateLbl.text = @"Playing";
_playState = YES;
_rcdState = NO;
}
}
else
{
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Play not Allowed during Record" delegate:nil cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Continue" otherButtonTitles:nil];
[actionSheet showInView: self.view];
}
}
}
-(void)actionSheet:(UIActionSheet*)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex
{
if (buttonIndex != [actionSheet cancelButtonIndex])
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Playing" message:[NSString stringWithFormat:@"Recording stopped"] delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil];
[alert show];
}
}
注意してください:私はアラートをすべての下にコーディングしましたbuttonIndex == 0, == 1, == 2
...それは表示したくありません。
助けてくれる人に感謝します!よろしく、