由于使用分组样式的表视图设计在iOS 7中发生了很大变化,我想隐藏(或删除)第一个节头.到目前为止,我还没有成功实现它.
有点简化,我的代码看起来像这样:
- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if (section == 0)
return 0.0f;
return 32.0f;
}
- (UIView*) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
if (section == 0) {
UIView* view = [[UIView alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 640.0f, 0.0f)];
return view;
}
return nil;
}
- (NSString*) tableView:(UITableView *) tableView titleForHeaderInSection:(NSInteger)section
{
if (section == 0) {
return nil;
} else {
// return some string here ...
}
}
Run Code Online (Sandbox Code Playgroud)
如果我返回0的高度,则永远不会使用截面索引0调用其他两个方法.但仍然使用默认高度绘制空截面标题.(在iOS 6中,调用了两种方法.但是,可见结果是相同的.)
如果我返回不同的值,则节标题将获得指定的高度.
如果我返回0.01,那几乎是正确的.但是,当我在模拟器中打开"颜色未对齐图像"时,它会标记所有表格视图单元格(这似乎是一个逻辑结果).
问题UITableView:从空部分隐藏标题的答案似乎表明有些人成功隐藏了部分标题.但它可能适用于普通样式(而不是分组样式).
到目前为止,最好的折衷方案是返回高度0.5,导致导航栏下方的线条稍微粗一些.但是,如果有人知道如何完全隐藏第一部分标题,我将不胜感激.
更新
根据 …
我正在使用AV Foundation类从相机捕获实时视频流并处理视频样本.这很好用.但是,一旦完成,我确实无法正确释放AV基础实例(捕获会话,预览层,输入和输出).
当我不再需要会话和所有关联对象时,我会停止捕获会话并释放它.这大部分时间都有效.但是,有时应用程序崩溃时会在调度队列(以及处理视频样本的位置)创建的第二个线程中引发EXEC_BAD_ACCESS信号.崩溃主要是由于我自己的类实例,它作为样本缓冲区委托,并在我停止捕获会话后被释放.
Apple文档提到了问题:停止捕获会话是一种异步操作.那就是:它不会立即发生.特别是,第二个线程继续处理视频样本并访问不同的实例,如捕获会话或输入和输出设备.
那么如何正确释放AVCaptureSession和所有相关实例呢?是否有通知可靠地告诉我AVCaptureSession已完成?
这是我的代码:
声明:
AVCaptureSession* session;
AVCaptureVideoPreviewLayer* previewLayer;
UIView* view;
Run Code Online (Sandbox Code Playgroud)
实例设置:
AVCaptureDevice* camera = [AVCaptureDevice defaultDeviceWithMediaType: AVMediaTypeVideo];
session = [[AVCaptureSession alloc] init];
AVCaptureDeviceInput* input = [AVCaptureDeviceInput deviceInputWithDevice: camera error: &error];
[session addInput: input];
AVCaptureVideoDataOutput* output = [[[AVCaptureVideoDataOutput alloc] init] autorelease];
[session addOutput: output];
dispatch_queue_t queue = dispatch_queue_create("augm_reality", NULL);
[output setSampleBufferDelegate: self queue: queue];
dispatch_release(queue);
previewLayer = [[AVCaptureVideoPreviewLayer layerWithSession: session] retain];
previewLayer.frame = view.bounds;
[view.layer addSublayer: previewLayer];
[session startRunning];
Run Code Online (Sandbox Code Playgroud)
清理:
[previewLayer removeFromSuperlayer];
[previewLayer release];
[session stopRunning];
[session release];
Run Code Online (Sandbox Code Playgroud) 我在编译后面的漏洞利用代码时遇到问题:
http://downloads.securityfocus.com/vulnerabilities/exploits/59846-1.c
我正在使用:"gcc file.c"和"gcc -O2 file.c",但它们都会出现以下错误:
sorbolinux-exec.c: In function ‘sc’:
sorbolinux-exec.c:76: error: stray ‘\302’ in program
sorbolinux-exec.c:76: error: stray ‘\244’ in program
sorbolinux-exec.c:76: error: ‘t’ undeclared (first use in this function)
sorbolinux-exec.c:76: error: (Each undeclared identifier is reported only once
sorbolinux-exec.c:76: error: for each function it appears in.)
Run Code Online (Sandbox Code Playgroud)
我尝试在Kali linux和Ubuntu 10.04上编译它们并得到相同的结果.
有没有办法以编程方式确定当前正在运行的应用程序是否仅为开发而构建和签名,或者是否为分发而构建?并且可以确定是否为应用商店或临时分发构建?
例如,是否可能访问代码签名并从那里获取信息?或者某些变体中是否存在某些不存在于其他变体中的文件?是捆绑信息的一部分吗?或者它可以从可执行文件派生?
任何提示都表示赞赏.
似乎embedded.mobileprovision文件是ASN.1格式.
在应该在iOS 6和iOS 7上运行的应用程序中,如果应用程序在iOS 7上运行,导航栏中嵌入的搜索栏的取消按钮将不再显示.在iOS 6上,它可以正常工作.
搜索栏位于导航栏的标题视图中,如果搜索栏成为第一个响应者,则应显示取消按钮:
IOS 7
iOS 6
在一个独立的测试用例中,代码非常简单:
@interface MyViewController : UITableViewController<UISearchBarDelegate>
@property (nonatomic) IBOutlet UISearchBar* searchBar;
@end
@implementation MyViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.titleView = self.searchBar;
}
- (void) searchBarTextDidBeginEditing: (UISearchBar*) searchBar {
[searchBar setShowsCancelButton: YES animated: YES];
}
@end
Run Code Online (Sandbox Code Playgroud)
这是我在文档中遗漏的iOS 7中的故意更改吗?如果是的话,应该是什么选择?
如果没有,我的代码中是否犯了错误?
刚刚将我的项目更新为Xcode 8,我在我的应用程序包含的多个外部框架中发现了这个错误.是否有解决方法,可能涉及设置,以避免此编译错误?
这是一个错误示例:(我无法修改,因为它是导入的框架)
const void * ivarPtr = objc_unretainedPointer(self) + ivar_getOffset(ivar);
[decoder decodeValueOfObjCType:[ivarInfo[@"encoding"] UTF8String] at:(void *)ivarPtr];
Run Code Online (Sandbox Code Playgroud) 我有一组切换按钮.它们非常轻,在背景中消失在具有高亮度的不良显示器上.
我该如何正确地设计它们?我宁愿将它们分配的口音或主要的颜色,你可以做到这一点的常用按键的方式.
在可能的情况下,主色和强调色是暗的.所以他们的文字应该变成白色(有一些透明度).对于常规按钮,它会自动运行.
<div class="output-size">
<mat-button-toggle-group>
<mat-button-toggle value="letter">Letter</mat-button-toggle>
<mat-button-toggle value="legal">Legal</mat-button-toggle>
<mat-button-toggle value="a4">A4</mat-button-toggle>
<mat-button-toggle value="a5">A5</mat-button-toggle>
</mat-button-toggle-group>
</div>
Run Code Online (Sandbox Code Playgroud) 在服务器端Blazor应用程序中,我想存储页面导航之间保留的某些状态。我该怎么做?
常规的ASP.NET Core会话状态似乎不可用,因为很可能适用于ASP.NET Core的“会话和应用程序”中的以下说明:
SignalR 应用程序不支持会话,因为SignalR集线器可以独立于HTTP上下文执行。例如,当长轮询请求由集线器在请求的HTTP上下文的生存期之外保持打开状态时,可能会发生这种情况。
GitHub问题向SignalR for Session添加支持中提到您可以使用Context.Items。但是我不知道如何使用它,即我不知道如何访问该HubConnectionContext
实例。
我对会话状态有哪些选择?
我对Python比较陌生,想知道如何最好地将多个文件中的数据导入到一个数组中.我有很多文本文件包含50行两列数据(列分隔),例如:
Length=10.txt:
1, 10
2, 30
3, 50
#etc
END OF FILE
Run Code Online (Sandbox Code Playgroud)
-
Length=20.txt
1, 50.7
2, 90.9
3, 10.3
#etc
END OF FILE
Run Code Online (Sandbox Code Playgroud)
假设我有10个文本文件要导入并导入到名为data的变量中.
我想创建一个包含所有数据的3D数组.这样,我可以通过引用数据来轻松地绘制和操作数据,data[:,:,n]
其中where n
指的是文本文件的索引.
我认为我这样做的方法是拥有一个形状数组(50,2,10),但不知道如何最好地使用python来创建它.我已经考虑过使用循环将每个文本文件导入为2D数组,然后将它们堆叠起来创建一个2D数组,尽管找不到合适的命令来执行此操作(我在numpy中查看了vstack和column_stack但是这些似乎没有添加额外的维度).
到目前为止,我已经编写了导入代码:
file_list = glob.glob(source_dir + '/*.TXT') #Get folder path containing text files
for file_path in file_list:
data = np.genfromtxt(file_path, delimiter=',', skip_header=3, skip_footer=18)
Run Code Online (Sandbox Code Playgroud)
但是这段代码的问题在于我只能在for循环中处理数据.
我真正想要的是从文本文件导入的所有数据的数组.
非常感谢任何帮助!
我仍在使用ASIHTTPRequest,我期待前页移动到AFNetworking我也经历了Raywenderlich速成班 但它不是使用AFNetworking 2.0
我刚试过AFNetworking提到的下面的样本, 但它的工作原理并没怎样.
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
//manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
NSDictionary *parameters = @{@"UserId": @"24",@"ArticleId":@"0"};
NSLog(@"%@",parameters);
[manager POST:@"http://mysite.com/api/User/showArticleList" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"JSON: %@", responseObject);
}failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"Error: %@", error);
}];
Run Code Online (Sandbox Code Playgroud)
调试区域显示:
误差区域= NSCocoaErrorDomain代码= 3840
"该操作不能完成.(可可错误3840)"(JSON文本不与阵列或对象和选项,允许片段未设置启动.)的UserInfo = 0xa0ba580 {NSDebugDescription = JSON文本没有从数组或对象和选项开始,以允许未设置片段.}
但是,当我使用链接提到Raywenderlich速成课程
[manager POST:@"http://www.raywenderlich.com/downloads/weather_sample/weather.php?format=json" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"JSON: %@", responseObject);
}failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"Error: %@", error);
}];
Run Code Online (Sandbox Code Playgroud)
它给了我完美的JSON输出,为什么会这样呢?
ios ×5
ios7 ×2
iphone ×2
angular ×1
angular5 ×1
arrays ×1
asn.1 ×1
asp.net-core ×1
avfoundation ×1
blazor ×1
c ×1
c# ×1
camera ×1
distribution ×1
file ×1
import ×1
numpy ×1
python ×1
server-side ×1
signature ×1
uisearchbar ×1
uitableview ×1
xcode8 ×1