在采用新的时候,UISplitViewController我试图将更改作为使用UISplitViewControllerDisplayModeAutomatic模式时发生的默认行为.
在纵向工作时,我希望在用户触发推送到细节侧时隐藏主要叠加层.默认情况下,覆盖图保持在屏幕上,直到用户点击细节一侧.
我已尝试将以下内容与委托人一起使用:
- (BOOL)splitViewController:(UISplitViewController *)splitViewController showDetailViewController:(UIViewController *)vc sender:(id)sender
{
if (splitViewController.displayMode == UISplitViewControllerDisplayModePrimaryOverlay) {
[UIView animateWithDuration:0.3 animations:^{
splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryHidden;
}];
}
return NO;
}
Run Code Online (Sandbox Code Playgroud)
这给了我在肖像中所需的行为,但这打破了横向模式(我想表现得像UISplitViewControllerDisplayModeAllVisible).如果您已完成推动然后旋转设备,则左侧仍然是隐藏的(如预期的那样).我无法找到一个appriprite地方来重新设置旋转的首选模式以显示左侧(因为特征集合不能用于告诉iPad上的风景与肖像).
如何手动触发覆盖的解雇?
Dupe注意: iOS8已经UISplitViewController完全改变了,所以在2014年 6月之前所有其他的SO答案都可能是错误的(我已经挖掘了很多,只是因为)
uisplitviewcontroller screen-rotation ios ios-universal-app ios8
我正在使用RestKit从我的RoR服务中获取对象,并使用CoreData来保留一些对象(更多的静态类型查找表对象).TasteTag是其中一个持久对象:
#ifdef RESTKIT_GENERATE_SEED_DB
NSString *seedDatabaseName = nil;
NSString *databaseName = RKDefaultSeedDatabaseFileName;
#else
NSString *seedDatabaseName = RKDefaultSeedDatabaseFileName;
NSString *databaseName = @"Model.sqlite";
#endif
RKObjectManager* manager = [RKObjectManager objectManagerWithBaseURL:kServerURL];
manager.objectStore = [RKManagedObjectStore objectStoreWithStoreFilename:databaseName usingSeedDatabaseName:seedDatabaseName managedObjectModel:nil delegate:self];
.. lots of fun object mapping ..
RKManagedObjectMapping* tasteTagMapping = [RKManagedObjectMapping mappingForClass:[TasteTag class]];
[tasteTagMapping mapKeyPath:@"id" toAttribute:@"tasteTagID"];
[tasteTagMapping mapKeyPath:@"name" toAttribute:@"name"];
tasteTagMapping.primaryKeyAttribute = @"tasteTagID";
[[RKObjectManager sharedManager].mappingProvider setMapping:tasteTagMapping forKeyPath:@"taste_tags"];
[[RKObjectManager sharedManager].mappingProvider addObjectMapping:tasteTagMapping];
.. some more mapping ..
Run Code Online (Sandbox Code Playgroud)
我有从RoR服务器返回的数据,它按预期映射到对象.在RestKit获取请求后,Core Data实体似乎也正常映射:
"<TasteTag: 0x6e87170> (entity: TasteTag; id: 0x6e85d60 <x-coredata://03E4A20A-21F2-4A2D-92B4-C4424893D559/TasteTag/p5> ; data: <fault>)"
Run Code Online (Sandbox Code Playgroud)
问题是当我尝试访问对象的属性时,故障似乎无法解决.起初我只是调用属性,这些属性总是以零形式返回(即使它应该触发错误): …
我想在Objective-C中编写一个基本的推荐系统,我正在寻找一个基本的算法.不幸的是,现成的系统已不在桌面上,因为Objective-C似乎没有.
我将要有一个项目数据库,每个项目都有标签(想想带有"恐怖","动作"等标签的电影).每个项目都有大约5个这样的标签.当用户首次使用该应用时,他们的个人资料将根据他们对一系列问题的输入进行准备,并将某些标签与其个人资料相关联.
当用户继续使用系统并对各种项目(基于仇恨/喜欢/爱情)进行评级时,我想根据该反馈调整推荐标签的权重.我还想在他们的个人资料增长时加入他们收视率的其他几个属性,例如"80年代",如果这涉及电影.或者也许导演,坚持电影主题.
我选择避开正常(或至少是流行的)推荐系统,在那里它寻找类似的用户来产生推荐.这将有一个大型项目数据库和最小的用户启动.
任何人都可以为这样的算法推荐一个好的起点,我讨厌重新发明轮子,那里有很多东西?
我正在使用IE7和一些jQuery对话框,并且每个对话框打开时我遇到大约6meg泄漏.我假设它与闭包有关,但到目前为止我所做的一切都是为了删除它们没有帮助.在这一点上,我认为我已经处理了所有的闭包,除了我传入的回调函数,但即使关闭并删除对话框后它仍然会泄漏6兆.相关的源代码是:
function DialogDestroyAndRemove(event) {
$(event.target).dialog("destroy").remove();
}
function CallbackAndCloseDialog(event) {
if (event.data.callback != undefined) {
event.data.callback(event.data.callbackResponse);
}
$("#" + event.data.dialogId).unbind('dialogbeforeclose').dialog('close');
}
// alert dialog modal with ok button
function AlertDialog(dialogTitle, dialogText, callbackFunction) {
// dynamically generate and add a div so we can create the pop-up
$('body').append("<div id=\"alertDialog\" style=\"display:none;\" title=\"" + dialogTitle + "\">" + dialogText + "</div>");
// define/configure the modal pop-up
$("#alertDialog").dialog({
draggable: false,
resizable: false,
modal: true,
autoOpen: true,
open: function() {
$("#alertDialog").parents('.ui-dialog-buttonpane button:eq(0)')
.focus() //focus so the …Run Code Online (Sandbox Code Playgroud) 我正在尝试在UITableView上面添加一个UIView.目的是当用户拉下内容时(通常用于拉动刷新),而不是UITableView的背景显示,表格上方的UIView应该会继续保持卡在顶部向下滑动的UITableViewCell上.当用户以另一种方式滚动(内容上升)时,UIView将消失,就像它只是顶部的UITableViewCell一样.
你可以在Path中看到这个实现(下拉时间线和顶部的个人资料图片扩展,例如0:15)和新的Facebook应用程序的签到(地图在附近的地方列表上方增长).
不确定最好的办法.我认为要达到类似的效果,你必须将UIView作为第一个单元格.但这个问题让我有点担心在滚动时试图调整单元格的高度.理论上,调整大小只需要在它们下拉时发生,而不是向上推,如果它只是顶部的UITableViewCell.
编辑:当前代码 - 使用来自rummad的建议我在tableview上添加了一个keypath观察器,用于contentOffset并根据它调整单元格的高度,但是它在各处跳跃.
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
if (self.tableView == (UITableView*)object) {
if ([keyPath isEqualToString:@"contentOffset"]) {
CGPoint scrollLoc = self.tableView.contentOffset;
if (scrollLoc.y < 0) {
NSLog(@"offset:%@", NSStringFromCGPoint(scrollLoc));
headerSize = 100 - scrollLoc.y;
[self.tableView beginUpdates];
[self.tableView endUpdates];
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我的结构大致如下:
List<ProductLine> -> ID
Name
...
List<LineOfBusiness> -> ID
Name
...
List<Watchlist> -> ID
Name
ReportCount
Run Code Online (Sandbox Code Playgroud)
监视列表可以存在于多个LoB下,但ReportCount仅用于该监视列表的该LoB下存在的报告计数.我在结构中需要它们,因为对于给定的监视列表,LoB中存在的报告数量在其他地方很重要.
我需要做的是获取不同的WatchLists列表(根据ID分组),并使ReportCount成为所有LoB中该监视列表的ReportCount的SUM.我无法让嵌套的选择逻辑正常工作.
ios ×3
algorithm ×1
c# ×1
closures ×1
core-data ×1
ios8 ×1
iphone ×1
jquery ×1
jquery-ui ×1
linq ×1
memory-leaks ×1
nested ×1
objective-c ×1
restkit ×1
uitableview ×1