在名为"Luvocracy"的应用程序中,当用户在屏幕上向上滑动时,导航栏的标题会发生变化.旧标题被推高,而新标题已经过渡.我现在没有视频,但这里有一些屏幕截图:
https://www.dropbox.com/s/sns0bsxkdv7pw3l/Photo%20Apr%2008%2C%2011%2001%2005%20AM.png
https://www.dropbox.com/s/ys9a49u3dyxrlcm/Photo%20Apr%2008%2C%2011%2001%2009%20AM.png
https://www.dropbox.com/s/dlcfvfvqqov3ag7/Photo%20Apr%2008%2C%2011%2001%2013%20AM.png
如何在新的导航栏标题中设置动画或转换,如图所示?
编辑:应用程序商店中的应用程序不再可用,因此我无法上传此操作的视频.
我已设置推送通知并正常工作,但是,有时我会遇到终端设备上的延迟交付.有没有办法我可以将推送的"优先级"键设置为10,以便立即发送推送?我不相信我可以将其与其他键(例如"警报")一起放入字典中,因为Apple的文档说它应该与有效负载分开.
在我的一个视图控制器中,我有一些视觉效果视图,模糊和活力.我有标签正常工作与活力,但每次我尝试将UIButton添加到视图时,文本看起来是透明的,按钮的背景似乎有活力.我正在寻找"编辑"按钮在通知中心中的效果.我附上了一些照片供参考.
我想要的是:
怎么了:
如果在IB中无法实现这一点,可以用代码完成吗?我正在使用Swift.
编辑
现在这里发生了什么,它充满活力,但文字并不暗:
当我将IBOutlet连接到UITextField时,我遇到了这个奇怪的错误.这真的很奇怪,因为它只发生在这个视图控制器中.我有两个与这个几乎相同的其他视图控制器,它们功能完美.我的故事板中有一个表视图控制器.它有2个分组的部分,每个部分都有静态单元格.每个单元格中都有一个UITextField.现在,如果我只是运行它而没有将textfields连接到我的类,视图加载正常.但是,当我连接它们时,一旦视图加载 - 应用程序崩溃并出现此错误,每个文本字段一个:[UITextField stringByTrimmingCharactersInSet:]:发送到实例的无法识别的选择器
知道这可能是什么原因吗?我很困惑,因为我有其他tableview控制器具有相同的内容,我从来没有得到这个错误.
以下是一些屏幕截图,以帮助进一步解释我的情况:
这是我的.m文件的代码:
//
// IdeaViewController.m
// FinalJSApp
//
// Created by Jacob Klapper on 10/20/13.
//
//
#import "IdeaViewController.h"
@interface IdeaViewController ()
@end
@implementation IdeaViewController
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;
// Uncomment the following line to display an Edit button in the navigation bar …
Run Code Online (Sandbox Code Playgroud) 更新2
在我的UITabBarController子类中,我尝试添加这个:
-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
}
Run Code Online (Sandbox Code Playgroud)
现在,每次我选择一个标签项时,设备都会完美地旋转到纵向模式.但是,现在我可以在选择(a)时旋转设备,设备将旋转到横向模式.如何阻止设备旋转?
我相信我的tab控制器子类中的这个方法是导致这种情况的原因:
- (BOOL)shouldAutorotate {
if(self.selectedIndex == 0)
{
return NO;
}
return [self.viewControllers.lastObject shouldAutorotate];
}
Run Code Online (Sandbox Code Playgroud)
如果我返回"否",当我在视图控制器中时,我无法旋转,但是当我选择它时,它不会自动旋转为纵向.如果我返回"是",我可以在视图控制器中旋转,但是当我选择它时,它会自动旋转为纵向.
我的应用程序中有一个自定义标签栏控制器,具有以下层次结构:
UITabBarController
|
UINavigationController
| |
| UIViewController(a)
|
UINavigationController
| |
| UIViewController(b)
|
UINavigationController
|
UIViewController(c)
Run Code Online (Sandbox Code Playgroud)
我希望视图控制器(a)只能在纵向模式下查看,而视图控制器(b)和(c)可以在所有方向上查看,但是可以上下颠倒.现在,我可以单独为每个视图控制器执行此操作,但是当我处于横向模式(b)并选择(a)的选项卡项时,我的问题就出现了,然后以横向模式显示a,这看起来不像好.如何确保标签栏(或视图控制器)检查是否可以在当前方向查看要选择的视图控制器?
如果需要,这是我的代码(a)将其自身限制为纵向模式:
- (BOOL) shouldAutorotate
{
return NO;
}
- (NSUInteger) supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
Run Code Online (Sandbox Code Playgroud)
UPDATE
我已将其添加到视图控制器(a)中,但我在视图中间得到一个黑色方块,导航栏中的标题不再居中.
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait]; …
Run Code Online (Sandbox Code Playgroud) objective-c rotation uitabbarcontroller uiviewcontroller ios
ios ×5
objective-c ×2
animation ×1
iboutlet ×1
iphone ×1
rotation ×1
swift ×1
transition ×1
uibutton ×1
uitextfield ×1
xcode ×1