小编ste*_*rab的帖子

当部分不可见时,UITableViewCell 的 rectForSection 返回估计值

我目前正在尝试向 a 添加无限滚动UITableView,其中包含许多日历事件。由于事件标题并不总是适合单行,因此我UILabel在单元格中添加了多行。为了计算单元格的高度,我UITableView通过 iOS 8 中的自动布局利用了新的自调整单元格大小。WWDC Session 226 更详细地讨论了这一点。

为了实现无限滚动机制,我重写了layoutSubviews需要计算给定时间在屏幕上不可见的部分的高度的位置。这可以通过使用来完成[self rectForSection:0]。这样做时,表根据估计的行大小返回一个高度,我必须在表的初始化程序内定义,以便使自动调整大小的单元格工作。

self.estimatedRowHeight = 44.0;
self.rowHeight = UITableViewAutomaticDimension;
Run Code Online (Sandbox Code Playgroud)

当该部分出现在屏幕上时,我得到了该部分的正确大小,但由于我必须根据该特定部分的计算高度来更新表格的 contentOffset,这会导致我的表格上下跳跃。

关于如何解决这个问题有什么想法吗?有没有办法强制部分返回实际高度而不是估计高度?

objective-c uitableview ios ios8

5
推荐指数
0
解决办法
983
查看次数

SSL_CTX_use_certificate_file失败,并显示EXC_BAD_ACCESS

我最近想通过使用BSD套接字来构建自己的客户端-服务器系统。某些时候,我想加入SSL来加密数据传输。我按照教程进行操作,并使用Xcode(添加了链接器标志:-lssl -lcrypto)很好地编译了代码,但是EXC_BAD_ACCESS一旦程序到达SSL_CTX_use_certificate_file()调用位置,我就一直得到所有的时间。您可以在下面看到使用的代码。

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#include <openssl/bio.h>
#include <openssl/ssl.h>
#include <openssl/err.h>

int main(int argc, const char * argv[])
{
    SSL_METHOD *method = NULL;
    SSL_CTX *ctx = NULL;
    OpenSSL_add_all_algorithms();
    SSL_load_error_strings();
    method = SSLv2_server_method();
    ctx = SSL_CTX_new(method);

    SSL_CTX_use_certificate_file(ctx, "/Users/steve/certificate.pem", SSL_FILETYPE_PEM);
    SSL_CTX_use_PrivateKey_file(ctx, "/Users/steve/key.pem", SSL_FILETYPE_PEM);

    printf("Hello, World!\n");
    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

如果程序无法在指定的路径中找到证书,则它不会崩溃,但是我当然不会进行任何SSL加密。证书本身可能有问题吗?我只是使用以下命令通过openssl生成了一个:

# generate the key
$ openssl genrsa -out key.pem 1024

# generate request
$ openssl req -new -key key.pem -out request.pem
# fill in …
Run Code Online (Sandbox Code Playgroud)

c ssl xcode openssl exc-bad-access

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

标签 统计

c ×1

exc-bad-access ×1

ios ×1

ios8 ×1

objective-c ×1

openssl ×1

ssl ×1

uitableview ×1

xcode ×1