有谁知道如何添加范围栏UITableView
?App Store应用程序有时会执行此操作,如下图所示.
我想使用此范围栏为其中的元素添加排序选项UITableView
.这比使用带有工具栏的工具栏更方便UISegmentControl
.
我只是不知道如何实现这一点.我甚至不知道元素的名称(我称之为范围栏,因为它看起来就像a的范围栏UISearchBar
,但事实并非如此).
我正在创建一个NSMutableRequest
:
self.req = [NSMutableURLRequest requestWithURL:myURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10.0];
Run Code Online (Sandbox Code Playgroud)
超时设置为10秒,因为我不希望用户等待太长时间来获得反馈.之后我创建了一个NSURLSessionDataTask
:
NSURLSessionDataTask *task = [self.session dataTaskWithRequest:self.req completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSHTTPURLResponse * httpResp = (NSHTTPURLResponse *)response;
if (error) {
// this is where I get the timeout
}
else if (httpResp.statusCode < 200 || httpResp.statusCode >= 300) {
// handling error and giving feedback
}
else {
NSError *serializationError = nil;
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&serializationError];
}
[task resume];
}
Run Code Online (Sandbox Code Playgroud)
问题是服务器进入Gateway Timeout并且需要花费很多时间.我收到超时错误并向用户提供反馈,但由于超时错误,以下所有API调用都以相同方式失败.阻止它的唯一方法是杀死应用程序并重新开始.在超时错误后,我应该做些什么来终止任务或连接?如果我没有设置超时并且我等到从服务器收到错误代码,则以下所有调用都能正常工作(但是用户会等待很多!).
我试图取消任务:
NSURLSessionDataTask …
Run Code Online (Sandbox Code Playgroud) 我正在编写一个SplitView iPad应用程序.在DetailViewController中,有一个包含a UITableView
和a UISearchBar
及其控制器的小视图.此视图不代表为DetailViewController保留的整个屏幕空间.实际上,它只使用了一半.这里有一个UIImageView
对另一半.
这就是麻烦的来源:每次我使用搜索栏时,displaycontroller(我都认为)会使DetailViewController中的所有内容变暗,包括图像视图.这与人们在运行应用程序时的期望不一致.有没有办法将框架设置为暗灰色?或者至少禁用调光效果好?
提前致谢.
这是我最新的iPhone SDK问题.
我有一个UISearchBar和它的代表都设置好了.另外,当我加载我的视图时,我会打电话
self.searchDisplayController.searchBar.showsScopeBar = YES;
Run Code Online (Sandbox Code Playgroud)
这样,当我的视图首次出现时,我会看到范围栏,如预期的那样.但是如果触摸搜索栏内部然后触摸它(或者即使执行搜索然后取消它),范围栏也会再次隐藏.
所以我的问题是:是否可以让范围栏始终可见?即使在进行搜索之后?
非常感谢.
我正在使用AVFoundation
框架用iPhone相机捕获视频,我的代码:
self.session = [[AVCaptureSession alloc] init];
...
self.output = [[AVCaptureVideoDataOutput alloc] init];
[self.session addOutput:self.output];
Run Code Online (Sandbox Code Playgroud)
之前[session addOutput]
一切顺利,内存限制为3M,但是之后[session addOutput]
,内存使用量每秒增加0.06M,几分钟后,应用程序会因为内存警告而崩溃。AVCaptureVideoDataOutput
似乎消耗了太多内存,并且可能存在内存泄漏问题。
那么我怎样才能减少内存使用呢?
iOS版本:7.1.1
我很难设法调整a的大小UIWebView
,并且不知道还能去哪里.
这就是我想要完成的事情:我有两个视图,一个在另一个之上(想象两个正方形,一个在另一个的顶部).顶视图是a UIWebView
,底部视图将被称为一般UIView
(我对底部视图没有任何问题).每次加载新内容时我都会调整两个视图.我还有一个按钮,应该隐藏底部视图或显示它,具体取决于它以前的状态.
这就是问题出现的地方.当隐藏底部视图时,按下按钮会放大框架并缩小UIWebView
框架.没关系.但是如果显示底部视图并按下按钮,UIWebView
框架将变大,并且存在一些问题:
如果它UIWebView
一直滚动到底部,它会在下降之前"跳跃"一点(变大);
如果它UIWebView
一直滚动到顶部,只要有足够的内容在底部视图后滚动,它就会按预期下降.
一般来说,我学到的是,如果底部视图后面的内容比调整大小的数量更大,则不会发生跳跃.否则就是这样.
我做了很多研究,问过前一个问题,所以我假设这是延迟加载的结果UIWebView
.发生这种"跳跃",以便自动调整大小(显示所有内容,即使其中一些内容在屏幕外),然后向下移动.否则,它将同时扩展和加载新内容,需要更多的处理器能力.
我已经尝试了框架,边界和中心,到目前为止还没有任何进展.我的假设是否正确?有没有简单的方法来调整大小调整大小以UIWebView
使其仅向下(当变大时)并保持底部滚动?
从理论上讲,我认为正确的方法是将UIWebView
较大的位置设置为顶部,保持其当前的最低位置,然后将其降低动画.这样,顶部内容就已经加载了.但我没有取得任何成功.
如果有人对此有任何经验,请分享.非常感谢.
我正在开发一款驾驶游戏,SpriteKit
并且在发动机声音效果方面遇到了麻烦.
我想要两种不同的发动机声音.一个用于按下油门按钮,另一个用于未按下油门按钮的按钮.在游戏开始时,两种声音中的一种将持续播放.
什么是最好的方法?我的声音文件是否应该非常短(0.10秒或更短)并且循环还是应该相当长并且只是打开和关闭?我应该SKAction
用来播放声音AVAudioPlayer
还是别的什么?我尝试过使用AVAudioPlayer
但每次暂停和播放播放器(打开或关闭油门)时,游戏的帧速率会暂时下降.任何帮助表示赞赏!
任何人都已经成功实施UIViewController
该contais既有UISearchController
searchBar
和UItableView
在使用自动布局铺设东西展现出来?
我正在努力实现类似于1Password在iPhone上所做的事情:固定searchBar
在一个tableView
(不是它的一部分)之上tableHeaderView
.当UISearchController
拥有searchBar
激活时,它的searchBar
动画显示范围按钮,从而tableView
向下移动一点.
我已经使用此类正确使用此布局的基础知识:
//
// ViewController.m
// UISearchControllerIssues
//
// Created by Aloha Silver on 05/02/16.
// Copyright © 2016 ABC. All rights reserved.
//
#import "ViewController.h"
@interface ViewController () <UISearchResultsUpdating, UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, strong) UISearchController *searchController;
@property (nonatomic, strong) UITableView *tableView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self setupTableView];
[self setupSearchInterface];
[self setupConstraints]; …
Run Code Online (Sandbox Code Playgroud) 使用SpriteKit处理iOS游戏.我的背景由地图图块组成(本质上是一个无限的图,程序生成).
我们的系统旨在管理地图的"块",我们只在播放器附近加载块.由于SpriteKit需要我们添加SKSpriteNodes
,我们不再对不再靠近播放器的块/块的"卸载"精灵进行干净控制.
我意识到SpriteKit实际上不会在屏幕外渲染事物,但是如果我们无法移除不再需要的精灵,或者检查是否已经添加了块/块,它将会破坏性能.
既然SKNodes
没有回应isEqual:
,我只看到两种方法:
如果已添加精灵,有没有更简单的检查/删除方法?也许精灵名称上的部分字符串匹配?
我不确定使用SpriteKit是最好的解决方案(Xcode模拟器似乎以30fps的速度拖动,尚未在真实设备上进行测试).我们最初用Java构建这个游戏,我们正在渲染我们自己的纹理 - 因此只能加载并可以手动输入到opengl中.
-(void) renderToScene:(SKScene *)scene {
for( Chunk *chunk in loadedChunks ){
for( Tile *tile in [chunk getTiles] ){
SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithTexture:tileTexture];
sprite.name = @"Tile";
sprite.position = CGPointMake(realX,realY);
[scene addChild:sprite];
}
}
}
Run Code Online (Sandbox Code Playgroud) 这是我现在面临的问题:
我有很多UITableViews,每个都有两个部分(根据需要,任何时候只显示一个).第一部分有3个单元格,可能需要调整大小.因此,我正在使用heightForRowAtIndexPath.
第二部分最多可以有3.000个单元格,全部使用默认高度44点.
我的heightForRowAtIndexPath确定它是处理来自第1部分还是第2部分的单元格,然后是度量(第1部分)还是立即返回默认值(第2部分).
通过使用此方法,大型表视图需要一段时间才能显示,因为在这种情况下(大于约1.000个单元格),heightForRowAtIndexPath是性能问题.
我的问题是:有没有办法只调整第一部分中提出的3个单元格?任何方式可能强制只为indexPath.section == 0调用heightForRowAtIndexPath?
如果它有任何区别,我正在使用分组表视图.
谢谢.
ios ×8
iphone ×3
objective-c ×3
uitableview ×3
sprite-kit ×2
uisearchbar ×2
audio ×1
avfoundation ×1
ios4 ×1
ipad ×1
ipod-touch ×1
memory ×1
skaction ×1
uiwebview ×1