标签: ios6

如何为约束更改设置动画?

我正在更新旧的应用程序,AdBannerView当没有广告时,它会从屏幕上滑落.当有广告时,它会在屏幕上滑动.基本的东西.

旧样式,我在动画块中设置框架.新风格,我有一个IBOutlet确定Y位置的约束,在这种情况下,它与superview底部的距离,并修改常量.

- (void)moveBannerOffScreen {
    [UIView animateWithDuration:5 animations:^{
        _addBannerDistanceFromBottomConstraint.constant = -32;
    }];
    bannerIsVisible = FALSE;
}

- (void)moveBannerOnScreen {
    [UIView animateWithDuration:5 animations:^{
        _addBannerDistanceFromBottomConstraint.constant = 0;
    }];
    bannerIsVisible = TRUE;
}
Run Code Online (Sandbox Code Playgroud)

横幅移动,完全符合预期,但没有动画.

更新:我重新观看了WWDC12视频" 掌握自动布局的最佳实践 ",其中包括动画.它讨论了如何使用更新约束AdBannerView.

在此输入图像描述 在此输入图像描述

我尝试使用以下代码,但得到完全相同的结果.

- (void)moveBannerOffScreen {
    _addBannerDistanceFromBottomConstraint.constant = -32;
    [UIView animateWithDuration:2 animations:^{
        [self.view setNeedsLayout];
    }];
    bannerIsVisible = FALSE;
}

- (void)moveBannerOnScreen {
    _addBannerDistanceFromBottomConstraint.constant = 0;
    [UIView animateWithDuration:2 animations:^{
        [self.view setNeedsLayout];
    }];
    bannerIsVisible = TRUE;
}
Run Code Online (Sandbox Code Playgroud)

在旁注中,我已经多次检查过,这是在主线程上执行的.

animation objective-c ios autolayout ios6

934
推荐指数
9
解决办法
27万
查看次数

什么是Unwind segues以及如何使用它们?

iOS 6和Xcode 4.5有一项称为"Unwind Segue"的新功能:

展开segue可以允许转换到故事板中的现有场景实例

除了Xcode 4.5发行说明中的​​这个简短条目之外,UIViewController现在似乎有几个新方法:

- (BOOL)canPerformUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender
- (UIViewController *)viewControllerForUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender
- (UIStoryboardSegue *)segueForUnwindingToViewController:(UIViewController *)toViewController fromViewController:(UIViewController *)fromViewController identifier:(NSString *)identifier
Run Code Online (Sandbox Code Playgroud)

展开segue如何工作以及它们可以用于什么?

ios uistoryboard ios6

579
推荐指数
5
解决办法
22万
查看次数

尝试在UIViewController上呈现UIViewController,其视图不在窗口层次结构中

刚开始使用Xcode 4.5,我在控制台中遇到了这个错误:

警告:尝试在<ViewController:0x1ec3e000>上显示<finishViewController:0x1e56e0a0>,其视图不在窗口层次结构中!

该视图仍在呈现中,应用程序中的所有内容都正常运行.这是iOS 6中的新功能吗?

这是我用来在视图之间切换的代码:

UIStoryboard *storyboard = self.storyboard;
finishViewController *finished = 
[storyboard instantiateViewControllerWithIdentifier:@"finishViewController"];

[self presentViewController:finished animated:NO completion:NULL];
Run Code Online (Sandbox Code Playgroud)

cocoa-touch views hierarchy ios ios6

573
推荐指数
11
解决办法
35万
查看次数

文件是通用的(三个切片),但它不包含iOS上的静态库的(n)ARMv7-s切片错误,无论如何要绕过?

我升级了Xcode版本,当使用外部静态库时,我收到以下消息:

ld:文件是通用的(3个切片)但不包含(n)armv7s切片:/ file/location for architecture armv7s clang:error:linker命令失败,退出代码为1(使用-v查看调用)

如果库的开发人员还没有更新他们的库,有没有办法绕过这个并添加对库的支持?

xcode objective-c static-libraries ios ios6

403
推荐指数
5
解决办法
16万
查看次数

没有UITableViewController的UIRefreshControl

只是好奇,因为它似乎不可能,但有没有一个偷偷摸摸的方式来利用新的iOS 6 UIRefreshControl类而不使用UITableViewController子类?

我经常使用UIViewController一个UITableView子视图,并符合UITableViewDataSourceUITableViewDelegate而不是使用UITableViewController顾左右而言他.

objective-c uitableview ios ios6 uirefreshcontrol

306
推荐指数
6
解决办法
8万
查看次数

如何以编程方式执行Unwind segue?

使用故事板这很容易.您只需将操作拖动到"退出"即可.但是我该如何从我的代码中调用它呢?

ios segue ios6

299
推荐指数
6
解决办法
11万
查看次数

在容器视图中均匀分隔多个视图

自动布局让我的生活变得困难.从理论上讲,当我切换时它会非常有用,但我似乎总是在打架.

我做了一个演示项目试图找到帮助.有没有人知道如何在调整视图大小时使视图之间的间距均匀增加或减少?

这是三个标签(手动间隔垂直):

此搜索

我想要的是让他们在旋转时均匀地调整间距(而不是视图大小).默认情况下,顶视图和底视图朝中心方向挤压:

图像2

rotation spacing ios autolayout ios6

273
推荐指数
11
解决办法
13万
查看次数

是否可以在Xcode 5上安装iOS 6 SDK?

Xcode 5有一个首选项窗格,允许用户下载iPhone 6.1模拟器,但我找不到允许下载iOS 6 SDK的地方,因此在使用Xcode 5进行开发时无法将活动SDK设置为iOS 6 .是否有允许Xcode 5安装iOS 6 SDK的解决方法?

编辑:

现在,Xcode 5通常可用,并且允许您下载SDK的先前版本,因此不再需要解决方法.

在此输入图像描述

xcode ios ios6 xcode5

248
推荐指数
9
解决办法
13万
查看次数

无法更改应用程序的可执行权限

刚刚更新到iOS 6 sdk和最新的Xcode,并尝试构建我的3gs时得到这个.我在有效架构下添加了armv6?

"无法更改应用程序的可执行权限"

xcode ios6 xcode4.5

167
推荐指数
5
解决办法
6万
查看次数

检测是否通过推送通知启动/打开了应用程序

是否可以知道应用程序是否通过推送通知启动/打开?

我猜这个发布活动可以在这里找到:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    if (launchOptions != nil) {
         // Launched from push notification
         NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当应用程序处于后台时,如何检测到它是从推送通知中打开的?

push-notification apple-push-notifications uiapplicationdelegate ios ios6

162
推荐指数
10
解决办法
11万
查看次数