小编kit*_*oop的帖子

UITextField:使其更高并将输入文本垂直居中放置

UITextField边框样式的默认高度UITextBorderStyleRoundedRect为31px.对于iPad应用程序,我想制作一个高度为60像素的UITextField,并将文本垂直居中放置以使其看起来很好(默认情况下,文本仅在UITextField的顶部边框下方几个像素处绘制).

如果我做以下......

UITextField *txtLogin = [[UITextField alloc] initWithFrame:CGRectMake(200,200,300,60)];
txtLogin.borderStyle = UITextBorderStyleRoundedRect;
Run Code Online (Sandbox Code Playgroud)

......结果如下:http://grab.by/6jRc

如您所见,输入文本不是垂直居中的.我试图找到一个解决方案,发现我只需从UITextField继承自己的自定义类并覆盖该- (CGRect)textRectForBounds:(CGRect)bounds方法.但是,此方法永远不会被调用,根据此链接,Apple的API中存在错误.因此,我正在寻找有效的替代方案.

什么是解决此问题并为输入文本实现正确垂直对齐的好解决方案?

iphone alignment uitextfield ipad ios

8
推荐指数
1
解决办法
3842
查看次数

将 SwiftUI 文本与另一个文本的基线和顶部对齐

我正在尝试实现如图所示的 SwiftUI 文本对齐。目标是将文本“.0”的顶部与“7”的顶部边缘(紫线)和“kts”的底部边缘与“7”的底部边缘(红线)对齐。

想要的结果

这是我当前的 SwiftUI 代码:

HStack(alignment: .lastTextBaseline, spacing: 3) {
    
    Text("7")
    .font(.system(size: 70))
    .foregroundColor(Color.green)
    .multilineTextAlignment(.center)
    .minimumScaleFactor(0.3)
    
    VStack(alignment: .leading, spacing: 5) {

        Text(".7")
        .font(.system(size: 24))
        .foregroundColor(Color.green)
                        
        Text("kts")
        .font(.system(size: 18))
        .foregroundColor(Color.white)
                            
    }
                
}
Run Code Online (Sandbox Code Playgroud)

此代码适用于红线所示的对齐方式。

你会推荐什么方法来对齐“7”和“.0”的顶部,如紫色线所示?

swiftui

6
推荐指数
1
解决办法
803
查看次数

使用 NSURLRequest 和 NSURLConnection 进行磁盘缓存是否真的适用于 iPhone?

我有一个 UITableView,其单元格包含从 Internet 异步加载图像的自定义 ImageView。要加载这些图像,我使用 NSURLRequest 和 NSURLConnection 工作正常。唯一的问题是图像没有缓存,因此每次使用时都会下载。我试图将 NSURLRequest 的 cachePolicy 设置为“NSURLRequestReturnCacheDataElseLoad”,但没有任何效果。

链接上的最后一个答案看来,iPhone 上的 NSURLRequest 不支持磁盘缓存。这样对吗?

如果它真的有效,我很想知道在我的情况下它不起作用的原因是什么。

这是代码:

NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://myurl"] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60.0];


connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
Run Code Online (Sandbox Code Playgroud)

iphone caching disk nsurlconnection nsurlrequest

5
推荐指数
1
解决办法
2553
查看次数

动画移动和旋转UIView并不是很有效

我想创建一个动画,同时移动和旋转UIView.我尝试了以下代码:

[UIView beginAnimations:@"MoveAndRotateAnimation" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationDuration:kAnimationDuration];

myView.frame = newFrame;
myView.transform = CGAffineTransformMakeRotation(0.4);

[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

结果是,在动画完成后,视图绘制不正确(某些部分不再可见).如果我只更改帧或动画的变换,则视图会正确绘制.如果我同时设置框架和转换,则只会出现此问题.

同时为视图移动和旋转动画的正确方法是什么?

iphone uiview cgaffinetransform ipad ios

5
推荐指数
1
解决办法
6680
查看次数

在非ARC项目中使用TWRequest似乎泄漏

使用TWRequest时,Instruments(Leaks)报告内存泄漏,我无法真正看到我做错了什么.

以下是重现问题的步骤:

创建一个新的Xcode项目(禁用ARC),添加Twitter框架,然后将以下行添加到代码中(例如在viewDidLoad中):

TWRequest *postRequest = [[TWRequest alloc] initWithURL:[NSURL URLWithString:@"http://api.twitter.com/1/statuses/public_timeline.json"] parameters:nil requestMethod:TWRequestMethodGET];

[postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
    NSLog(@"in performrequest");

    [postRequest release];
}]; 
Run Code Online (Sandbox Code Playgroud)

在使用Instruments(Leaks)分析此代码之后,它告诉我带有"performRequestWithHandler"的行正在泄漏:

仪器截图

标记线

有什么想法可以防止这种泄漏?

我在这里发现了一个类似的问题,但它似乎与我所描述的问题无关.

memory-leaks instruments ios twrequest social-framework

5
推荐指数
1
解决办法
564
查看次数