我想製作一個隨機文本生成器,我知道如何做一個正常的,但在這種情況下,我不能得到它的工作。所以我選擇了一個圖片的代碼,然後將它顯示在不同的視圖控制器上,並且我希望每次拍攝圖片時都將該最後一個視圖控制器上的標籤設置爲隨機語句。我不知道如果我解釋自己的權利.. 這是我的代碼:隨機文本生成器 - iOS
//ViewController.m
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"CameraSegue"] || [segue.identifier isEqualToString:@"LibrarySegue"])
{
UIImagePickerController *controller = [segue destinationViewController];
controller.sourceType = [segue.identifier isEqualToString:@"LibrarySegue"] ? UIImagePickerControllerSourceTypePhotoLibrary : UIImagePickerControllerSourceTypeCamera;
controller.delegate = self;
}
else if([segue.identifier isEqualToString:@"ShowImageViewController"]){
UIImage *image = (UIImage*)sender;
ShowImageViewController *viewController = segue.destinationViewController;
viewController.pickedImage = image;
UILabel *label = (UILabel *) sender;
ShowImageViewController *vc = segue.destinationViewController;
vc.cap = label;
//I tried to set the label here
label.text = @"Hello";
}
}
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
[self dismissViewControllerAnimated:YES completion:nil];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
[self dismissViewControllerAnimated:YES completion:^{
picker.delegate = nil;
[self performSegueWithIdentifier:@"ShowImageViewController" sender:image];
}];
}
//SeconViewController.h
@property(nonatomic, strong) UIImage *pickedImage;
@property (weak, nonatomic) IBOutlet UIImageView *pickedImageView;
@property(nonatomic, retain) IBOutlet UILabel *cap;
//SecondViewController.m
-(void)viewWillAppear:(BOOL)animated{
self.pickedImageView.image = self.pickedImage;
}
我嘗試了設置標籤的文本時的圖片採用label.text = @「hello」;在prepareforsegue方法中,但我得到了一個SIGABRT錯誤。我知道我必須使用arc4random,但我不知道如何在這裏使用它。 – emiliomarin
您可以在上面編輯您的代碼以顯示如何設置標籤的文字嗎?我的猜測是a)'sender'到達時不是標籤,或者b)您使用一些時髦的語法設置其文本。 –
我剛剛更新了它 – emiliomarin