Tag: uiview

如何手动设置要在应用程序委托中显示的故事板视图

我有一个应用程序,只要应用程序在一段时间内处于非活动状态,就要注销用户。 这是应用程序中的多个不同的视图,我希望应用程序委托设置loginview作为当前视图,每当此方法触发: – (void)applicationDidBecomeActive:(UIApplication *)application 如何手动设置loginViewController作为这个方法的故事板当前显示视图?

iOS:绘图线出现在子视图后面

我有一个简单的UIView,在drawRect中:我添加一个UIImageView作为子视图,然后试图在该子视图上绘制一条线。 但是,这条线在imageview背后被吸引。 我怎样才能使绘图上下文成为子视图,所以我可以在上面绘制? CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetLineWidth(context, 10.0); CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor); CGContextBeginPath(context); CGContextMoveToPoint(context, 0, 0); CGContextAddCurveToPoint(context,125,150,175,150,200,100); CGContextAddCurveToPoint(context,225,50,275,75,300,200); CGContextStrokePath(context);

创build一个没有笔尖的视图控制器

在AppDelegate中,我想创build一个UIViewController子类并添加它的视图。 viw本身将在代码中指定 – 没有笔尖。 基于苹果文档,我应该使用 initWithNibName:nil bundle:nil]; 然后在控制器的loadView,我添加我的子视图等 但是,下面的下面的testing代码不适用于我。 我模拟了Apple的PageControl演示中的AppDelegate代码,只是因为我的应用程序将实现类似的结构(特别是基本控制器来pipe理分页滚动视图,以及其他控制器的数组来构build页面)。 但我怀疑我的AppDelegate代码是问题,因为日志loggingcertificateinitWithNibName ::和loadView都触发。 下面的应用程序运行,但屏幕是空白的。 我期待带有标签的绿色景观。 AppDelegate中 – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ScrollerController *controller = [[ScrollerController alloc] initWithNibName:nil bundle:nil]; [self.window addSubview:controller.view]; [self.window makeKeyAndVisible]; return YES; } ScrollerController (UIViewController子类) – (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } […]

在iOS上,CALayer位图(CGImage对象)如何显示在graphics卡上?

在iOS上,我能够创build3个CGImage对象,并以60fps的CADisplayLink使用CADisplayLink self.view.layer.contents = (__bridge id) imageArray[counter++ % 3]; 在ViewController ,每一次,一个图像被设置为视图的CALayer contents ,这是一个位图。 而这一切都可以改变屏幕显示。 屏幕将以60fps循环播放这3张图片。 没有UIView的drawRect ,没有CALayer的display , drawInContext或者CALayer的委托drawLayerInContext 。 它所做的只是更改CALayer的contents 。 我也尝试添加一个较小的子层self.view.layer ,并设置该子层的contents 。 这个子图层将循环通过这3个图像。 所以这与以前甚至在苹果公司(甚至在King's Quest III时代,这是DOSvideo游戏,其中有一个位图,屏幕只是不断显示位图是什么)非常相似。 除了这个时候,它不是一个位图,而是一个树或一个链接的位图列表,并且显卡不断使用画家模型将这些位图(位置和不透明度)绘制到主屏幕上。 所以看来, drawRect ,CALayer,一切都是为了达到最终目的而devise的。 这是如何工作的? 显卡是否采用位图或位图树的有序列表? (然后不断地显示它们,为了简化,我们不考虑CA框架中的隐式animation)在graphics卡处理层中究竟发生了什么? (实际上,这种方法在iOS,Mac OS X和PC上几乎相同?) (这个问题旨在了解我们的graphics编程实际上是如何在现代graphics卡中呈现的,例如,如果我们需要了解UIView和CALayer的工作方式,或者直接使用CALayer的位图,我们需要了解graphics架构。

UIView上的UITapGestureRecognizer和它的子视图在子视图被抽头时一起响应

UITapGestureRecognizer应用于UIImageView及其子视图( UITextView )。 但是,当我点击子视图,接收器成为子视图和它的父视图(即UIImageView + UITextView )。 它应该只是子视图,因为那是我挖掘的一个。 我假设嵌套的手势会首先作出反应,但显然父母接受拳头轻敲,然后去孩子。 所以,有各种不同的解决scheme(不是类似于我的,而是滚动视图冲突内的button)。 我怎样才能轻松解决我的问题,没有可能的子类和iOS 6 +支持? 我试着拖延UIImageView上的UIGestureRecognizer启动触摸,我试图设置cancelsTouchesInView到NO – 所有没有运气。

旋转UIView – willRotateToInterfaceOrientation不被调用

我试图自动控制一个视图,我有这里解释相同的问题: willRotateToInterfaceOrientation没有被调用 。 即使我实现了shouldAutorotateToInterfaceOrientation并返回YES,在我实现的每个UIViewController子类中; willRotateToInterfaceOrientation没有被调用。 也许有人可以告诉我我错过了什么。 我有以下视图控制器结构(我希望这是清楚的..): NavigationController (Programatically) -with root > TabBarController (Programatically) -with tab item > NavigationController (Programatically) -with root > UITableViewController (a Subclass) -pushed to navigator controller > UIViewController (a Subclass). 我希望有一个人可以帮助我。 提前致谢!

我如何完全重新加载视图,以便viewDidLoad再次运行?

我想重新加载我的视图,以便viewDidLoad重做所有的工作。 我怎么能在Swift中做到这一点?

React Native iOS Native View使用适当的reactTag发送事件

我有一个iOS本地视图,这是一个UIView与地图视图和UIView。 该地图有一个名为“regionDidChangeAnimated”的事件,我想将事件发送到React Native。 但是reactTag是不正确的。 – (UIView *)view { CGRect screenRect = [[UIScreen mainScreen] bounds]; UIView *frameView = [[UIView alloc] initWithFrame:screenRect]; CGRect frameRect = frameView.bounds; MAMapView *mapView; mapView = [[MAMapView alloc] initWithFrame:frameRect]; self.mapview = mapView; mapView.delegate = self; [frameView addSubview:mapView]; RCTFixedPin* pin = [[RCTFixedPin alloc] initWithFrame:CGRectMake(0, 0, screenRect.size.width, 260)]; pin.userInteractionEnabled = NO; [frameView addSubview:pin]; return frameView; […]

如何从UIView的某些部分删除边框?

我有一个包含其他子视图的UIView 。 我正在将边框应用于此UIView ,并将边框应用于整个UIView 。 为了那看见第一个图象。 但是不要在标题所在的"Leaderboard"的边框周围。 我怎样才能删除该部分的边界只。 看到下面的图片,看看在标题排行榜周围没有边框。

当我将UIPanGestureRecognizer和自动布局结合在一起时,我的UIViews变得糟糕透顶

我想要一个球跟踪我的手指,当我沿着一个圆形轨迹拖动iPhone或iPad上的每个允许的设备方向时。 当一个设备被旋转时,视图看起来是正确的居中,但是球不会停留在圆周上,当我拖动它的时候它似乎会去任何地方。 编辑 马丁R的答案现在显示这个要求。 我唯一的附加代码更改是删除不必要的声明var shapeLayer = CAShapeLayer() 这个例子中的math是非常有意义的,直到我试图将球和轨迹同时约束到视图的中心,并在运行时将球的中心坐标加上偏移量。 我遵循这些关于如何约束视图的build议 。 有三件事我不明白。 首先,根据两个variablestrackRadius和angular度theta计算圆的圆周,并使用theta sin和cos来找出x和y坐标,这样就不会使球处于正确的位置。 其次,使用atan来查看视图中心与触摸点之间的angular度theta ,使用trackRadius和theta来查找x和y坐标不会将球放置或移动到沿着圆周的新位置。 第三,每当我拖动球,在debugging区域的消息说, Xcode is Unable to simultaneously satisfy constraints ,虽然没有约束问题报告拖动之前。 这里可能有一个以上的问题。 我的大脑开始受到伤害,如果有人能指出我做错了什么,我会很感激。 这是我的代码。 import UIKit class ViewController: UIViewController { override var supportedInterfaceOrientations: UIInterfaceOrientationMask { return .all } var shapeLayer = CAShapeLayer() let track = ShapeView() var ball = ShapeView() var […]