小编aai*_*aev的帖子

使用UITableViewAutomaticDimension的最小单元格高度

是否可以为细胞设定最小高度?我用动态:

tableView.estimatedRowHeight = 83.0
tableView.rowHeight = UITableViewAutomaticDimension
Run Code Online (Sandbox Code Playgroud)

但是当我news title label text在一行时,我需要为细胞设置最小高度.

uitableview swift uitableviewautomaticdimension

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

刷新令牌的正确方法

有一个函数getUserRequestManager class调用我的VC

func getUser(onCompletion: @escaping (_ result: User?, error: String?) -> Void) {
    Alamofire.request(Router.getUser).responseJSON { (response) in
        // here is the work with response
    }
}
Run Code Online (Sandbox Code Playgroud)

如果此请求返回,403则表示access_token已过期。我需要刷新令牌并重复来自我的请求VC

现在的问题。

如何刷新令牌并以正确的方式重复请求?

处理错误并刷新MyViewControllergetUser方法中的令牌不是一个好主意,因为我有很多VCsand request methods

我需要的是这样的:VC调用该方法,并得到了User即使令牌到期且refreshToken必须不能在所有的请求方法。

编辑

refreshToken 方法

func refreshToken(onCompletion: @escaping (_ result: Bool?) -> Void) {
    Alamofire.request(Router.refreshToken).responseJSON { (response) in
        print(response)
        if response.response?.statusCode == …
Run Code Online (Sandbox Code Playgroud)

ios swift alamofire

7
推荐指数
1
解决办法
4016
查看次数

领域不区分大小写的搜索语法

我得到过滤的对象,如:

realm.objects(Post.self).filter("title contains '\(searchText)'")
Run Code Online (Sandbox Code Playgroud)

但我需要不区分大小写的搜索选项,Realm docs说:

字符串的不区分大小写的比较,例如名称CONTAINS [c]'Ja'.请注意,只有字符"AZ"和"az"才会被忽略.可以与[d]修饰符组合使用.

那我该怎么办呢?

realm.objects(Post.self).filter("title contains[c] '\(searchText)'")
Run Code Online (Sandbox Code Playgroud)

不起作用......

UPD:

得到它了.我正在尝试过滤西里尔符号.那么下一个问题,我在哪里可以添加西里尔过滤?

realm swift

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

无法将类型'AppDelegate'的值分配为'CLLocationManagerDelegate?'

我输入CoreLocation,然后加locationManager.delegate = selfdidFinishLaunchingWithOptionslet locationManager = CLLocationManager()出来.

但我在AppDelegate中有这个错误.我错了什么?

core-location ios swift

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

当我插入新行时,UITableView正在跳跃

我尝试了多种方法来解决此问题,但没有。tableView加载更多数据后,我跳了起来。我将下载方法称为willDisplay

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    let lastObject = objects.count - 1
    if indexPath.row == lastObject {
        page = page + 1
        getObjects(page: page)
    }
}
Run Code Online (Sandbox Code Playgroud)

并在此处插入行:

func getObjects(page: Int) {
    RequestManager.sharedInstance.getObjects(page: page, success: { objects in
        DispatchQueue.main.async(execute: {
            self.objects = self.objects + objects
            self.tableView.beginUpdates()
            var indexPaths = [IndexPath]()
            for i in 0...objects.count - 1 {
                indexPaths.append(IndexPath(row: i, section: 0))
            }
            self.tableView.insertRows(at: indexPaths, with: .bottom)
            self.tableView.endUpdates()
        });
    })
}
Run Code Online (Sandbox Code Playgroud)

那我怎么了?为什么 …

uitableview ios swift

5
推荐指数
2
解决办法
1987
查看次数

隐藏导航栏时显示状态栏

当用户向上滚动表格时,我会隐藏导航栏.

func scrollViewWillBeginDragging(scrollView: UIScrollView) {
    if self.navigationController?.navigationBarHidden == false {
        self.navigationController?.setNavigationBarHidden(true, animated: true)
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这种方法也隐藏了状态栏.

无法保留我的状态栏.这些方法不起作用:

UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: .None)
prefersStatusBarHidden()
Run Code Online (Sandbox Code Playgroud)

请帮忙!

statusbar navbar ios swift

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

URL中的西里尔符号

应用程序崩溃并显示以下网址:

let jsonUrl = "http://api.com/??????/events"
let session = NSURLSession.sharedSession()
let shotsUrl = NSURL(string: jsonUrl)
let task = session.dataTaskWithURL(shotsUrl!)
Run Code Online (Sandbox Code Playgroud)

日志:

fatal error: unexpectedly found nil while unwrapping an Optional value
Run Code Online (Sandbox Code Playgroud)

这是因为网址中有西里尔文符号。我该如何解决这个问题。谢谢你的帮助!

nsurl ios swift

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

禁用反弹,但启用刷新表

scrollview向下滚动时,我想禁用弹跳功能。

在此处输入图片说明

当我禁用垂直反弹时,我将无法refresh打开桌子。任何建议如何禁用反弹,但启用刷新表?

我以这种方式刷新:

self.refreshControl = UIRefreshControl()
    self.refreshControl.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)
    self.tableView.addSubview(refreshControl)

func refresh(sender:AnyObject) {
    getJson()
    self.tableView.reloadData()
    self.refreshControl.endRefreshing()
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

tableview ios swift

2
推荐指数
1
解决办法
1542
查看次数

NSView setNeedsDisplay不可用

我已经在Objective-C中编写了一个Cocoa应用程序,该应用程序在nib文件的CustomView中进行了一些绘制。通过从我的视图控制器类中调用“ [theView setNeedsDisplay:YES]”来更新自定义视图,并且一切正常。但是,当我将此应用程序转换为Swift 2.1时,无法使用“ theView.setNeedsDisplay()”(带有或不带有“ true”)更新视图,自动完成功能不提供此调用,并且当我尝试使用时尽管如此,我仍然收到一条错误消息,指出该类没有名为“ setNeedsDisplay”的成员。应用程序中的其他所有内容均与Objective-C版本完全相同。有没有其他人有这个问题?我在El Capitan上运行XCode 7.1.1。

xcode cocoa ios swift

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

刷新视图背景颜色

我正在refreshcontroltableview这种方式添加,但视图的背景颜色是白色。我怎样才能将其设置为默认值?谢谢。

var refreshControl:UIRefreshControl!
refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)
tableView.addSubview(refreshControl)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

UPD:它也不能顺利工作。

uitableview ios swift

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

在tableview中每五个单元格后的广告单元格

我需要在表格视图中每五个新闻单元格后添加一个仅包含图像的广告单元格.

如果我要为广告单元格添加第二部分,则会在所有新闻单元格后显示广告单元格.如果我要添加广告单元格indexPath.row == 4,我的第五个新闻单元格将不会出现因为cell.details = news[indexPath.row].

有什么建议我该怎么办?谢谢.

tableview ios

0
推荐指数
1
解决办法
921
查看次数