标签: cocoa-touch

轻松解除键盘的方法?

我的桌子中有很多控制台分散在我的桌子中,我想知道是否有一种更简单的方法来解除键盘,而不必遍历所有控件并将它们全部作为第一响应者重新签名.我想这个问题是..我如何才能获得键盘当前的第一响应者?

sdk cocoa-touch objective-c

375
推荐指数
12
解决办法
20万
查看次数

375
推荐指数
5
解决办法
19万
查看次数

如何只为UIView的左上角和右上角设置cornerRadius?

有没有办法cornerRadius只设置一个左上角和右上角UIView

我尝试了以下内容,但最终没有看到视图了.

UIView *view = [[UIView alloc] initWithFrame:frame];

CALayer *layer = [CALayer layer];
UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRoundedRect:frame byRoundingCorners:(UIRectCornerTopLeft|UIRectCornerTopRight) cornerRadii:CGSizeMake(3.0, 3.0)];
layer.shadowPath = shadowPath.CGPath;
view.layer.mask = layer;
Run Code Online (Sandbox Code Playgroud)

cocoa-touch cornerradius uiview ios

372
推荐指数
20
解决办法
21万
查看次数

371
推荐指数
14
解决办法
31万
查看次数

UIView有圆角和投影?

我真的尝试了所有我能做到的但是没有一个能用于定制UIView......我只是想要一个带圆角的白色空白视图和一个浅色阴影(没有光照效果).我可以一个接一个地做这些,但通常clipToBounds/ maskToBounds冲突发生.

iphone cocoa-touch rounded-corners uiview ios

367
推荐指数
14
解决办法
25万
查看次数

如何将多行文本添加到UIButton?

我有以下代码......

UILabel *buttonLabel = [[UILabel alloc] initWithFrame:targetButton.bounds];
buttonLabel.text = @"Long text string";
[targetButton addSubview:buttonLabel];
[targetButton bringSubviewToFront:buttonLabel];
Run Code Online (Sandbox Code Playgroud)

...我的想法是我可以为按钮添加多行文本,但文本总是被UIButton的backgroundImage遮盖.用于显示按钮子视图的日志记录调用显示已添加UILabel,但无法看到文本本身.这是UIButton中的错误还是我做错了什么?

cocoa-touch uibutton uikit ios

358
推荐指数
13
解决办法
17万
查看次数

按下时,UILongPressGestureRecognizer会被调用两次

我正在检测用户是否已按下2秒钟:

UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]
                                             initWithTarget:self 
                                             action:@selector(handleLongPress:)];
        longPress.minimumPressDuration = 2.0;
        [self addGestureRecognizer:longPress];
        [longPress release];
Run Code Online (Sandbox Code Playgroud)

这就是我处理长按的方式:

-(void)handleLongPress:(UILongPressGestureRecognizer*)recognizer{
    NSLog(@"double oo");
}
Run Code Online (Sandbox Code Playgroud)

当我按下超过2秒钟时,文本"double oo"被打印两次.为什么是这样?我该怎么办?

iphone cocoa-touch objective-c gesture-recognition uigesturerecognizer

352
推荐指数
7
解决办法
9万
查看次数

如何在C中纯粹编写iOS应用程序

我在这里读到在Objective-C之前学习C?

通常我会用纯C代码替换一些Obj-C代码(毕竟你可以根据需要混合它们,Obj-C方法的内容可以完全是纯C代码)

这是真的?

是否有可能纯粹使用C编程语言构建iPhone应用程序?

c cocoa-touch objective-c objective-c-runtime ios

352
推荐指数
3
解决办法
8万
查看次数

UITableView didSelectRowAtIndexPath:第一次点击时没有调用

我遇到了问题UITableView's didSelectRowAtIndexPath.

我的表是设置的,所以当我选择行时,它会初始化一个新的视图控制器并将其推送.

我第一次点击表中的任何一行时,该方法不会被调用.一旦我选择了另一行,它就会开始正常工作.

我已经通过设置断点来验证这一点didSelectRowAtIndexPath.在向NSLog方法添加时,我看到当我选择最后推送新视图控制器的第二行时,我看到控制台中同时出现两个日志语句.

有什么建议?

cocoa-touch uitableview uikit didselectrowatindexpath

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

如何在UIView下绘制阴影?

我想UIView在Cocoa Touch 的底部边缘画一个阴影.我明白我应该用CGContextSetShadow()它画阴影,但Quartz 2D编程指南有点模糊:

  1. 保存图形状态.
  2. 调用函数CGContextSetShadow,传递适当的值.
  3. 执行要应用阴影的所有绘图.
  4. 恢复图形状态

我在UIView子类中尝试了以下内容:

- (void)drawRect:(CGRect)rect {
    CGContextRef currentContext = UIGraphicsGetCurrentContext();
    CGContextSaveGState(currentContext);
    CGContextSetShadow(currentContext, CGSizeMake(-15, 20), 5);
    CGContextRestoreGState(currentContext);
    [super drawRect: rect];
}
Run Code Online (Sandbox Code Playgroud)

..但这对我不起作用,我有点不知道(a)下一步该去哪里,(b)如果有什么我需要做的让我UIView做这个工作?

iphone cocoa-touch core-graphics objective-c ios

347
推荐指数
9
解决办法
24万
查看次数