小编Kru*_*nal的帖子

如何将UTC日期字符串转换为本地时间(systemTimeZone)

输入字符串:2012年6月14日 - 01:00:00 UTC

输出本地字符串:美国东部时间2012年6月13日 - 21:00:00

我喜欢从中获得偏移

NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone];
NSLog(@"Time Zone: %@", destinationTimeZone.abbreviation);
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

timezone date objective-c ios swift

11
推荐指数
2
解决办法
2万
查看次数

具有动态高度iOS的UITableViewCell

我在我的应用程序中使用CustomCell实现了TableView,

我想UITableViewCell根据文字长度调整我的动态高度UITableViewCell,

这是快照 Customcell

:这是我的快照 UITableView :代码段 heightForRowAtIndexPath

#define FONT_SIZE 14.0f
#define CELL_CONTENT_WIDTH 320.0f
#define CELL_CONTENT_MARGIN 10.0f

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
    NSString *text = [DescArr objectAtIndex:[indexPath row]];
    CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f);
    CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
    CGFloat height = MAX(size.height, 100.0);
    return height; 
}
Run Code Online (Sandbox Code Playgroud)

正如您在第二张图片中看到的那样,单元格的高度是固定的,它不会随着文本(内容)大小而变化.

我哪里弄错了?如何根据其内容/文本制作标签或单元格以更新其大小?

objective-c row-height uitableview ios swift

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

iOS获取UTC时间戳

我想获得UTC时间戳.我不能这样做,因为[[NSDate date] timeIntervalSince1970];它返回本地时区的时间戳.如何在iOS中获取UTC时间戳?

编辑

解决了我可以用[[NSDate date] timeIntervalSince1970];:)

timestamp date objective-c ios swift

11
推荐指数
3
解决办法
1万
查看次数

在Swift 3.0中使用NSData获取核心数据

所以以前,在Swift 2.2中我可以使用 Entity.image = UIImagePNGRepresentation(UIImage(named: "Image Name")!)

但现在在Swift 3.0中,似乎我们现在必须使用额外的步骤.Entity.image = NSData(data: UIImagePNGRepresentation(UIImage(named: "Image Name")!))或者相当于的对象UIImage(name: "Image Name")

是否有雨燕3.0一种新的方式,从去UIImageNSData

uiimage nsdata ios swift3 ios10

11
推荐指数
2
解决办法
3万
查看次数

更改状态栏的颜色

我试图将状态栏的颜色更改为蓝色或其他颜色.

这可能吗,还是Apple不允许这样做?

xcode statusbar ios uistatusbar swift

11
推荐指数
3
解决办法
1万
查看次数

如何在iOS 11上的iPhone X上获得黑色状态栏

默认情况下,iPhone X上的状态栏如下所示:

在此输入图像描述

但我想实现这个目标:

在此输入图像描述

我尝试设置preferredStatusBarStylelightContent但只有在将状态栏后面的背景设置为黑色后才能使用.

为了修复圆角,我最后添加了另一个圆角的子视图.

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        view.backgroundColor = .black

        let roundedView = UIView(
            frame: CGRect(
                x: 0,
                y: UIApplication.shared.statusBarFrame.height,
                width: view.frame.width,
                height: view.frame.height
            )
        )
        roundedView.layer.cornerRadius = 10
        roundedView.layer.masksToBounds = true
        roundedView.backgroundColor = .white
        view.addSubview(roundedView)

        let label = UILabel(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: 60))
        label.text = "Black statusbar!"
        label.textAlignment = .center
        roundedView.addSubview(label)
    }

    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道这是否是最好的方法..必须有更好的方法来实现这一目标.


UPDATE

这是一个可怕的想法,因为: …

statusbar ios swift safearealayoutguide iphone-x

11
推荐指数
1
解决办法
1万
查看次数

安全区域覆盖视野,无法移除

我不知道为什么安全区域覆盖了我在 iPhone X 模拟器上的视图,但在 xCode 的视图调试中似乎没问题。是否有任何选项可以隐藏安全区域视图或将其删除?提前致谢!通过视图调试,我看不到任何视图或没有任何东西覆盖我的视图,没关系,真的很奇怪。

我在故事板中添加了这个 myView,它打开了安全区域布局指南。我尝试将 additionalSafeAreaInsets.top additionalSafeAreaInsets.bottom 设置为零,但它不起作用。

这是我如何做约束:

func setupGroupBView() {
    self.groupBView = myView.create()
    self.view.addSubview(groupBView) 
    self.groupBView.snp.makeConstraints({ (make) in
        make.width.centerX.centerY.equalTo(self.view)
        make.height.equalTo(screenHeight)
    }) 
}
Run Code Online (Sandbox Code Playgroud)

我尝试将 myView 的顶部、底部设置为控制器的 view.top view.bottom 为 -44、-34,但仍然无法正常工作。

请检查这张显示现实的图片!

请帮忙!!!!

constraints ios swift safearealayoutguide iphone-x

11
推荐指数
3
解决办法
1万
查看次数

iOS 11 UISearchBar背景色

据我所知,这个问题已经被问过很多,很多倍左右.然而,随着Apple的发布最好,随着iOS 11的发布,它们似乎已经对它进行了一个看似不必要的改变UISearchBar,特别是它的视图层次结构.

此外,搜索栏的子视图中不再可访问搜索栏的"文本字段",导致所有先前的解决方案"访问"并更改文本字段的背景颜色或文本字段的任何属性那件事.

  • 有谁知道如何在iOS 11中实际调整搜索栏的背景颜色?

仅供参考: 我特别谈到文本背后的颜色......除非您将搜索栏样式指定为最小,否则现在从11开始默认为白色.

更新1:

因为我这个问题的帖子,我还没有找到一个有效的还是真的任何 真正解决这个问题.我似乎最接近的是深入了解外观,例如属性

[[UISearchBar class] appearanceWhenContainedInInstancesOfClasses:(nonnull NSArray<Class<UIAppearanceContainer>> *)]
Run Code Online (Sandbox Code Playgroud)

UISearchBar.使用以下找到的UITextFieldvia方法:

if ([view isKindOfClass:[UITextField class]]) {
    return (UITextField*)view;
}
UITextField *searchTextField;
for (UIView *subview in view.subviews) {
    searchTextField = [self searchViewForTextFieldBg:subview];
    if (searchTextField) {
        break;
    }
}
return searchTextField;
Run Code Online (Sandbox Code Playgroud)

您可以开始绘制要放置在视图后面的背景视图.然而,我发现过于繁琐而无法继续追求的问题是用正确的框架/边界绘制一个视图来模仿原始背景.

希望有人能找到这个问题的实际解决方案.好想念苹果......

objective-c uisearchbar ios swift ios11

10
推荐指数
3
解决办法
8205
查看次数

Swift 4中private和fileprivate有什么区别

在Swift 4中,由于现在private在同一源代码文件中也可以看到扩展,它与fileprivate访问修饰符有什么不同?

背景:在Swift 3中,类中的私有变量在同一文件的扩展中不可见.为此,fileprivate必须使用.

access-modifiers access-control access-levels swift swift4

10
推荐指数
2
解决办法
5803
查看次数

UIApplication.delegate只能从主线程使用

我在我的app delegate中有以下代码作为在我的其他viewControllers中使用CoreData的快捷方式:

let ad = UIApplication.shared.delegate as! AppDelegate
let context = ad.persistentContainer.viewContext
Run Code Online (Sandbox Code Playgroud)

但是,我现在收到错误消息:

"从后台线程调用UI API"和"UIApplication.delegate必须仅从主线程使用".

当我的应用程序在后台时,我正在使用CoreData,但这是我第一次看到此错误消息.有谁知道这里发生了什么?

更新:我试图在appDelegate类本身内移动它,并使用以下代码 -

let dispatch = DispatchQueue.main.async {
    let ad = UIApplication.shared.delegate as! AppDelegate
    let context = ad.persistentContainer.viewContext
}
Run Code Online (Sandbox Code Playgroud)

现在,我无法再访问外部的广告和上下文变量AppDelegate.有什么我想念的吗?

xcode thread-safety uiapplication ios swift

10
推荐指数
1
解决办法
5541
查看次数