0

我想制作一个随机文本生成器,我知道如何做一个普通的,但在这种情况下我无法让它工作。因此,我拍摄或选择图片的代码,然后将其显示在不同的视图控制器上,我想在每次拍摄照片时将最后一个视图控制器上的标签设置为随机句子。我不知道我是否正确解释了自己。这是我拥有的代码:

//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;
}
4

2 回答 2

0

你可以用这个。它是ac函数,但你可以在objective-c中使用它,或者转换它。

 void generateRandomString() {

      int numRandChars = 15;
      for ( int i = 0; i < numRandChars; i++ ) {

          int intChar = arc4random()%126;

          // Limit to above 33+
          while ( intChar < 33 ) { intChar = arc4random()%126; }

          // Use ascii table to convert
          char aChar = (char)toascii(intChar);

          // Print or do whatever you want with the string
          printf("\n%d = %c",intChar, aChar);
      }
 }

此外,如果您仍然在设置标签时遇到问题,您需要弄清楚“发件人”实际上是什么,即确保它不是 nil 并且它实际上是您期望的 UILabel。

希望有帮助。

于 2012-12-09T21:25:02.697 回答
0

在swift中,您可以使用它来获取辅音和元音,只需将其放在循环中并创建您的单词,希望对您有所帮助

func getConsonant() {
    var consonant:NSString = "QWRTYPSDFGHJKLZXCVBNM"
    var selected = Character(UnicodeScalar(consonant.characterAtIndex(Int(arc4random_uniform(20)))))
    println("This is a consonant \(selected)")
}

func getVowel() {
    var vowel:NSString = "AEIOU"
    var selected = Character(UnicodeScalar(vowel.characterAtIndex(Int(arc4random_uniform(4)))))
    println("This is a vowel \(selected)")
}
于 2014-10-08T08:39:58.053 回答