Tag: uikit

UIImagePickerController与状态栏iOS8

我UIImagePickerController尝试覆盖其默认状态栏的行为和混合结果。 我的应用程序使用基于视图控制器的状态栏外观。 没有子类,我发现当select器被解散时,它将状态栏样式更改为Default (黑暗),并且我在初始视图控制器中没有尝试过任何东西。 另外,当select器隐藏状态栏时,向上滑动,初始视图控制器的导航条从高度64上滑动到44。 因此,我希望我的UIImagePickerController子类保持状态栏的风格为LightContent并尝试解决滑动导航栏时,保持显示状态栏呈现select器,然后将其隐藏在viewDidAppear: 第一个有趣的事情是,我的prefersStatusBarHidden子类中的preferredStatusBarStyle和prefersStatusBarHidden根本没有被调用,直到我也覆盖了childViewControllerForStatusBarStyle和childViewControllerForStatusBarHidden返回nil。 这似乎表明,通常, UIImagePickerController重写这些,可能会返回一个内部子视图控制器。 查看viewDidAppear:中的视图层次结构,当然有一个孩子PLImagePickerCameraView ,它可能有一个控制器去与它。 可悲的是,我们不能覆盖这个控制器。 覆盖那些childViewControllerFor…方法, preferredStatusBarStyle和prefersStatusBarHidden在viewWillAppear:和viewDidAppear:之间调用,确实可以保持状态栏可见和LightContent 。 然而, 第二件有趣的事情是,在presentViewControlleranimation之前,状态栏会短暂地眨眼睛。 在viewWillAppear:或者像viewDidLoad:这样的其他地方,没有额外的setNeedsStatusBarAppearanceUpdate额外的调用viewDidLoad:似乎阻止了这一点。 第三件有趣的事情是,在解雇期间,酒吧风格仍然被设置为黑暗,在select器的viewWillDisappear:没有额外的setNeedsStatusBarAppearanceUpdate调用viewWillDisappear:或者viewDidDisappear:似乎阻止了这一点。 tl; dr – 我发现覆盖UIImagePickerController来隐藏和显示状态栏按需工作很好,但设置栏样式是有问题的。 select器类或UINavigationController本身中的某些内容自动更喜欢Default栏样式,当它切换到解除时,似乎很难将其切换回去。 我看到了问题UIImagePickerController打破了状态栏的外观 ,没有看到有什么帮助,而且iOS8.1不能解决它。 我确定把picker的navigationBar.barStyle设置为黑色就可以了,但是没有骰子。 任何想法任何人? (另外,当隐藏状态栏时,防止UINavigationController的导航栏滑动到44的高度的任何提示将是有用的thx)

使用animation隐藏和显示滚动视图

在我的应用程序,我有一个滚动视图,当我按下一个button时,它是隐藏的,当我再次按下它出现。 我使用scrollview.hidden = YES (或NO)来做到这一点。 但我想用animation做。 例如,它可能会通过移动而从屏幕底部消失,并以相同的方式显示出来。 我怎样才能做到这一点? 编辑: [UIView beginAnimations:@"myAnimation" context:nil]; CGRect Frame = bottomScroller.frame; if(Frame.origin.y == 380){ Frame.origin.y = 460; }else{ Frame.origin.y = 380; } bottomScroller.frame = Frame; [UIView commitAnimations]; 这解决了我的问题…

编译iOS的Qt(UIKit灯塔)第2部分

我正在尝试编译iOS模拟器的Qt,正如本文所解释的那样。 起初,我遇到了这个问题,但在它(有点)解决之后,我还有更多。 首先,我执行第一个命令后,得到这个错误,应该build立qmake( ../qt/configure … etc etc ): The OpenGL ES 2.0 functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in /Qt/qt/mkspecs/qpa/macx-iphonesimulator-g++. 由于我知道我有4.3 SDK,所以我深入研究了它,分析了configuration脚本,并且在一些跟踪之后,我看到了由qmake生成的Makefile,需要g ++ – 4.2(我没有),所以我在/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/中/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ ln -s g++ g++-4.2和ln -s gcc gcc-4.2 。 我不确定上述步骤是否重要,这就是为什么我写这些。 总之,configuration步骤是成功的。 现在我跑了。 一些成功编译的文件后,我得到这个: In file included from […]

UIKit:以编程方式调用awakeFromNib?

我看到了这个代码: CoolButton *coolButton = [[CoolButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 60.0f, 25.0f)]; [coolButton awakeFromNib]; // … [coolButton release]; CoolButton子类UIButton 。 可以以编程方式调用awakeFromNib吗? 如果我想要在-[CoolButton awakeFromNib]执行与我想要以编程方式创build对象(而不是从nib文件)创build对象相同的事情,那么做到这一点的最佳方法是什么? 我应该只是定义一个方法,并调用它-[CoolButton awakeFromNib]和-[CoolButton initWithFrame] ? 或者,有两种情况下,我应该定义另一个初始化方法:是否以编程方式或从nib文件创buildCoolButton ?

从右到左UINavigationController

我一直使用UINavigationController与UITableView控制器一起实现我的应用程序的分层导航。 不幸的是用户界面是用希伯来语,所以一切都必须从右到左才有意义。 真正的问题是导航控制器,滑动animation方向和后退button的位置。 到目前为止,我还没有find任何优雅的解决scheme,取得了一些有限的成功,重写popup和推动方法之间创build转换之间的意见,如下所示: 如何更改推动和stream行animation在基于导航的应用程序 但这是一个非常有限的解决scheme,它看起来不正确。 你有什么build议吗? 我真的必须用新的东西重写/复制导航控制器吗? 如果是这样,你会build议inheritanceUINavigationController或UIViewController?

iOSdynamic加载新的单元格到tableview的底部

我正在开发一个iOS项目,在用户到达底部时,我想dynamic地将更多的单元格添加到tableview的底部。 我目前有这个工作,通过调用一个方法,获取更多的数据添加到我用来举行我的单元格的数组。 当我完成将对象添加到数组时,我调用[tableView reloadData]。 这工作,但它不直观地加载单元格,直到tableview停止滚动。 我也尝试使用[tableView insertRowsAtIndexPaths:inSection:withRowAnimation:UITableViewRowAnimationNone]。 但是,我得到了一个非常奇怪的行为,随机单元格将消失,不显示备份,直到我滚动tableViewclosures屏幕的部分,然后返回到该区域。 有没有办法让tableView重新加载,即使tableView仍然在中间滚动时,[tableView reloadDate]被调用? 谢谢!

iOS:使用模式pageFlip在UITableViewController中产生奇怪的单元格animation

我想显示一个设置视图,所以我想我可以使用pageCurl模式风格。 我有一个UIViewController ,我介绍: Settings *settings = [[[Settings alloc] initWithStyle:UITableViewStyleGrouped] autorelease]; settings.view.backgroundColor = [UIColor scrollViewTexturedBackgroundColor]; settings.modalTransitionStyle = UIModalTransitionStylePartialCurl; settings.modalPresentationStyle = UIModalPresentationFullScreen; [self presentModalViewController:settings animated:YES]; 当页面curl,以显示我的UITableViewController下面, cells subviews (标签和附件视图)似乎animation的位置,这看起来很可怕: 奇怪的是,animation从来没有发生在一个部分的顶部单元格。 这不会发生与其他modalTransitionStyle's所以我想知道为什么会发生这种情况。 这真是令人沮丧,因为我无法弄清楚如何阻止这种情况的发生。 想法?

点内圆angular矩形?

我有这个代码来绘制圆angular的矩形: void ContextAddRoundedRect(CGContextRef ctx, CGRect rect, CGFloat radius) { CGFloat minX = CGRectGetMinX(rect); CGFloat maxX = CGRectGetMaxX(rect); CGFloat minY = CGRectGetMinY(rect); CGFloat maxY = CGRectGetMaxY(rect); CGContextMoveToPoint(ctx, minX + radius, minY); CGContextAddArcToPoint(ctx, maxX, minY, maxX, minY + radius, radius); CGContextAddArcToPoint(ctx, maxX, maxY, maxX – radius, maxY, radius); CGContextAddArcToPoint(ctx, minX, maxY, minX, maxY – radius, radius); CGContextAddArcToPoint(ctx, […]

如何将委托函数转换为IBAction函数

我有一个委托函数更改UITableViewCell的节点位置: //On cell tap, expand func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { if indexPath.section == 0 { let data = firstDataSource[indexPath.row] tableView.beginUpdates() secondDataSource.append(data) firstDataSource.removeAtIndex(indexPath.row) let newIndexPath = NSIndexPath(forRow: find(secondDataSource, data)!, inSection: 1) tableView.moveRowAtIndexPath(indexPath, toIndexPath: newIndexPath) tableView.endUpdates() } else if indexPath.section == 1 { let data = secondDataSource[indexPath.row] tableView.beginUpdates() firstDataSource.append(data) secondDataSource.removeAtIndex(indexPath.row) let newIndexPath = NSIndexPath(forRow: find(firstDataSource, […]

重叠不同颜色和Alpha的UIViews

有没有办法重叠2个或更多的UIViews与不同的背景颜色和alphas给出另一种颜色的外观? 例如,在一个蓝色的UIView顶部放置一个红色的UIView ,以给出一个洋红色的UIView的外观。