我一直在this this for for for for for for and and and while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while while
我认为,在我的设计的概念阶段提前,从iPhone的相机或库中获取图像,将其缩小到指定高度,使用与Aspect Fill选项相当的功能将是一件小事. UIImageView(完全在代码中),然后裁掉任何不适合传递给CGRect的东西.
从相机或图书馆获取原始图像非常简单.我很惊讶其他两个步骤的难度.
附图显示了我想要实现的目标.有人请你好好握住我的手吗?到目前为止我发现的每个代码示例似乎都会破坏图像,颠倒过来,看起来像废话,画出界限,或者其他方法都不能正常工作.
当用户旋转设备时,我正准备从一个UIView转换到另一个UIView.这本身并不困难.但是,由于我在旋转后显示完全不同的内容,因此UIKit提供的默认动画(旋转当前显示的视图)在概念上是不合适的.
简单地禁用动画并突然交换视图是可以忍受的,但远远低于我正在构建到应用程序其余部分的润色.我更喜欢这样做:
什么时候应该调用AutorotateToInterfaceOrientation:我想在旋转之前抓取一个不透明的视图快照,如果你愿意的话,截取用户视图.然后在完成旋转并且系统已应用视图变换等之后,我可以显示我保存的快照视图,并将我选择的过渡动画设置为我的新视图.完成后,我可以发布我的快照并继续前进.
有没有办法做到这一点并不昂贵?
我能想到的唯一另一个选择是在除默认方向之外的所有方向上返回NO,然后通过应用我自己的动画和变换做出反应.我宁愿使用系统来做这件事,因为我觉得自己可能会在手动旋转的视图中导致"未定义"的键盘行为等.
思考?
我正在使用actionSheet传递的actionSheet变量:didDismissWithButtonIndex:将调用的actionSheet与我班级中的UIActionSheet变量列表进行比较.这似乎是委托方法旨在区分事件的方式.
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (actionSheet == actionSheet1) {
switch (buttonIndex) {
case 0:
// Do Something
break;
case 1:
// Do Something Else
break;
case 2:
// Cancel
break;
}
}
if (actionSheet == actionSheet2) {
switch (buttonIndex) {
case 0:
// Do Something
break;
case 1:
// Do Something Else
break;
case 2:
// Cancel
break;
}
}
Run Code Online (Sandbox Code Playgroud)
}
每次显示UIActionSheet时,我都会将UIActionSheet的一个实例分配给其中一个类变量,设置显示属性,显示它并释放它.
一开始这很顺利.问题是在运行一段时间后,最终两个UIActionSheet指针(上面的代码示例中的类变量actionSheet1和actionSheet2)将最终指向同一个内存,具体取决于运行时发生的情况,从而导致委托中的两个if语句评估真实的方法.不好.
现在,如果我每次运行只分配一次UIActionSheet并保留内存(从不调用release),这不应该发生.但我想在这里保守.Apple是否打算以这种方式使用该代表?