属性传值(一个页面切换到下一个页面, 值的传递)

FirstViewController *firstVC = [[FirstViewController alloc] init];
    UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:firstVC];
    //半透明度默认为 no
    navigation.navigationBar.translucent = YES;
    self.window.rootViewController = navigation;
    [firstVC release];
    [navigation release];

    //传值方式
    //1.属性传值: 从前一个页面向后一个页面传值
    //a.在后一个页面, 根据传值的类型和个数, 写属性
    //b.在前一个页面, 为属性赋值
    //c.在后一个页面, 使用值

    //UIViewController的生命周期(一个对象从创建到消亡的过程)
    //1.alloc + init
    //2.loadView
    //3.viewDidLoad
    //4.viewWillAppear
    //5.viewDidAppear
    //6.view WillDisapper
    //7.viewDidDisapper
    //8.dealloc
    //注:1238, 只会执行一次; 4567:执行多次

    return YES;
}


//在第二个页面的操作:
//传值第一步
@property (nonatomic, copy)NSString *youName, *herName;
//在第一个页面的操作:
- (void)test {
    if (yourTF.text.length == 0 || herTF.text.length == 0) {
        //给一个提示
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"名字不能为空" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
        [alertView show];
        return;
    }
//    SecondViewController *secondController = [[SecondViewController alloc] init];
//    //传值第二步
//    secondController.youName = yourTF.text;
//    secondController.herName = herTF.text;
//    [self.navigationController pushViewController:secondController animated:NO];
//    [secondController release];

    //模态切换
    SecondViewController *secondVC = [[SecondViewController alloc] init];
    secondVC.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentViewController:secondVC animated:YES completion:nil]; 
}

//传值第三步的操作:
- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"%s", __FUNCTION__);
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor cyanColor];
    NSArray *array = @[@"你们的爱情基础非常深厚,牢不可破,然而却因为求学或工作的原因,使得你们分隔两地,聚少离多。也许是因为相聚短暂而益显珍贵,而e信来往,电话传情给你们平添一份情调。",
                       @" 你们是众人眼中的神仙眷侣,站在一起怎么看怎么般配,很有传说中的夫妻相。你们之间或许没有惊天地泣鬼神的爱情神话,或许没有刻骨铭心的激情,但是你的之间的温情和默契却能让你们的心越走越近,一起慢慢变老。",
                       @"你们是如此的匹配,如此和谐,往往是你刚想说“可惜”他已经开始叹惜。你们性格相合,有共同的爱好,品味一致。就是这么默契,令人们羡慕得不得了。没办法,谁叫你们连姓名的笔画也一样呢。",
                       @"你们俩的姻缘线诡异,连鄙人也无法测算。",
                       @" 你们的感情一般是从学生时代开始的,那青涩的恋爱留给你们酸酸甜甜的味道让你们用一生去怀念彼此,但是你们的爱情却注定了没有结果,你们会试着遗忘对方,开始自己新的生活,但心中那最温柔的角落一直被初恋占据。",
                       @"你们前世是冤家,今生做情侣,所以就难免有一些不和谐的音符出现来折磨你们的爱情。你们的感情大起大落,分分合合,不过你们最终会修成正果,恩爱到老的。"];
    NSString *string = [NSString stringWithFormat:@"%@和%@的测试结果:\n%@", _youName, _herName, array[arc4random() % 6]];//对任何数取余, 最终的结果:0至该数-1
    //计算高度
    //参数1: 容器大小, 必须保证其中一个固定, 不确定就写0
    //参数2: 计算方式, 行间距 + 行高
    //参数3: 字体样式
    //参数4: 上下文, 用于传值
    NSDictionary *dic = @{NSFontAttributeName:[UIFont systemFontOfSize:17]};
    CGRect rect = [string boundingRectWithSize:CGSizeMake(335, 0) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:dic context: nil];//最终只要 rect 的高度
    //注意, 这样写的目的是为了, label 最终的高度与文字相同. 字符串有个方法 boundingRectWithSize.

    //字典,尺寸大小; 基本上是写在一块的;
    //位运算(二进制运算), 位运算, 支持, 依次取多个(只要通过按位或即可)
    //按位或:(|): 同0为0, 有一个是1, 即为1
    //按位与:(&): 同1为1, 有一个是0, 即为0
    //按位异或:(^): 相同为0, 不同为1
    //按位取反(): 1变0, 0变1
    //左移(<<):左移 n 位, 不够的补0
    //右移(>>)右移 n 位, 多余的除去
    UILabel *resultLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 84, 335,  rect.size.height)];
    resultLabel.text = string;
    resultLabel.numberOfLines = 0;
    resultLabel.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:resultLabel];

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值