标签: uiview

从UIView到UIViewController?

是否有内置的方式从a UIView到它UIViewController?我知道你可以从UIViewControllerUIView通过它,[self view]但我想知道是否有反向参考?

cocoa-touch objective-c uiviewcontroller uiview ios

180
推荐指数
13
解决办法
14万
查看次数

如何模拟地图应用中的底部工作表?

任何人都可以告诉我如何在iOS 10中的新地图应用程序中模仿底页?

在Android中,您可以使用BottomSheet模仿此行为的模式,但我找不到类似iOS的内容.

这是一个带有内容插入的简单滚动视图,以便搜索栏位于底部吗?

我对iOS编程很新,所以如果有人可以帮助我创建这个布局,那将非常感激.

这就是我所说的"底页":

地图中折叠的底部工作表的屏幕截图

地图中展开的底部工作表的屏幕截图

uiscrollview uiview mapkit ios swift

179
推荐指数
6
解决办法
7万
查看次数

为UIView子类化的正确做法?

我正在研究一些基于UIView的自定义输入控件,我正在尝试确定设置视图的正确做法.当一个UIViewController的工作,这是相当简单的使用loadView和相关viewWill,viewDid方法,但是继承一个UIView的时候,我有最接近methosds是`awakeFromNib,drawRectlayoutSubviews.(我正在考虑设置和拆卸回调.)在我的情况下,我正在设置框架和内部视图layoutSubviews,但我没有在屏幕上看到任何内容.

确保我的视图具有我想要的正确高度和宽度的最佳方法是什么?(无论我是否使用autolayout,我的问题都适用,尽管可能有两个答案.)什么是正确的"最佳实践"?

cocoa-touch objective-c uiview ios

154
推荐指数
3
解决办法
7万
查看次数

UIView周围的虚线边界

如何添加虚线边框UIView.

像这样的东西

iphone objective-c uiview ios

145
推荐指数
15
解决办法
8万
查看次数

iOS的事件处理 - hitTest:withEvent:和pointInside:withEvent:如何相关?

虽然大多数苹果文档编写得很好,但我认为" iOS事件处理指南 "是一个例外.我很难清楚地了解那里描述的内容.

该文件说,

在命中测试中,窗口调用hitTest:withEvent:视图层次结构的最顶层视图; 此方法通过递归调用pointInside:withEvent:视图层次结构中返回YES的每个视图继续进行,继续向下移动层次结构,直到找到触摸发生在其边界内的子视图.该视图成为热门测试视图.

那么只有hitTest:withEvent:系统调用最顶层的视图,调用pointInside:withEvent:所有子视图,如果从特定子视图返回是YES,那么调用pointInside:withEvent:该子视图的子类?

uikit uiview ios

144
推荐指数
5
解决办法
8万
查看次数

iPhone UIView动画最佳实践

在iPhone上设置动画视图过渡的最佳做法是什么?

例如,ViewTransitions来自apple 的示例项目使用如下代码:

CATransition *applicationLoadViewIn = [CATransition animation];
[applicationLoadViewIn setDuration:1];
[applicationLoadViewIn setType:kCATransitionReveal];
[applicationLoadViewIn setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[[myview layer] addAnimation:applicationLoadViewIn forKey:kCATransitionReveal];
Run Code Online (Sandbox Code Playgroud)

但是网络上还有漂浮的代码片段,如下所示:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.75];
[UIView setAnimationDelegate:self];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:myview cache:YES];
[myview removeFromSuperview];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

什么是最好的方法?如果你也可以提供一个片段,那就非常感激了.

注意:我无法让第二种方法正常工作.

iphone cocoa-touch core-animation uiview ios

142
推荐指数
6
解决办法
21万
查看次数

UIView底部边界?

对于UIScrollView *toScrollView(这是屏幕的宽度),我想添加一个灰色的底部边框(与iPhone的原生消息应用程序的撰写视图的to-field完全相同).

为了做到这一点,我跟随Cocoa Touch:如何改变UIView的边框颜色和厚度?并使用自定义覆盖顶部边框UINavigationBar并制作了toScrollViewx坐标-1和宽度322,以便左右边框就在屏幕外.

这看起来很好,但它有点像黑客,我想知道是否有更好的方法来做到这一点.

- (void)viewDidLoad {
    [super viewDidLoad];

    // Add UINavigationBar *navigationBar at top.
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
                                             initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
                                             target:self action:@selector(cancelAction)];
    UINavigationBar *navigationBar = [[UINavigationBar alloc]
                                      initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)];
    navigationBar.items = [NSArray arrayWithObject:self.navigationItem];

    // Add UIScrollView *toScrollView below navigationBar.
    UIScrollView *toScrollView = [[UIScrollView alloc]
                                  initWithFrame:CGRectMake(-1.0f, 43.0f, 322.0f, 45.0f)];
    toScrollView.backgroundColor = [UIColor whiteColor];
    toScrollView.layer.borderColor = [UIColor colorWithWhite:0.8f alpha:1.0f].CGColor;
    toScrollView.layer.borderWidth = 1.0f;
    [self.view addSubview:toScrollView];
    [self.view addSubview:navigationBar]; // covers top of toScrollView …
Run Code Online (Sandbox Code Playgroud)

border uiview ios

140
推荐指数
12
解决办法
13万
查看次数

在Swift中从nib加载UIView

这是我的Objective-C代码,我用它来为我的自定义加载一个笔尖UIView:

-(id)init{

    NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"myXib" owner:self options:nil];
    return [subviewArray objectAtIndex:0];

}
Run Code Online (Sandbox Code Playgroud)

Swift中的等效代码是什么?

xib uiview swift

140
推荐指数
16
解决办法
17万
查看次数

IOS:验证一个点是否在矩形内

有没有办法验证a CGPoint是否在特定内部CGRect.例如:我正在拖动一个UIImageView,我想验证它的中心点CGPoint是否在另一个内部UIImageView我该怎么办?

collision-detection uiview cgpoint ios cgrect

138
推荐指数
5
解决办法
10万
查看次数

iPhone SDK:loadView和viewDidLoad有什么区别?

在iPhone应用程序中使用视图和视图控制器时,任何人都可以解释loadView和viewDidLoad之间的区别吗?

我个人的背景是,我从代码构建我的所有视图,我不会,也不会使用Interface Builder,如果这有任何区别.

我发现通常当我将初始化代码添加到loadView时,我最终会得到一个无限的堆栈跟踪,所以我通常在viewDidLoad中完成所有的子视图构建...但是每次执行时我都不清楚它,并且什么是更适合放置init代码的地方.什么是完美的,是一个简单的初始化调用图.

谢谢!

iphone objective-c uiview ios

136
推荐指数
4
解决办法
6万
查看次数