小编Zhe*_*hen的帖子

如何在屏幕上移动导航栏位置

我在我的app委托中添加了以下代码,以在状态栏下面创建一个部分(如代码后的屏幕截图所示)

UIWindow *statusWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, 20, 320, 20)];
statusWindow.windowLevel = UIWindowLevelStatusBar;
statusWindow.hidden = NO;
statusWindow.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.7];
[statusWindow makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何向下移动导航栏以使黑色叠加层不与导航栏重叠?基本上,我想在下面的屏幕截图中实现类似的效果:

在此输入图像描述

任何建议或资源将不胜感激.

objective-c statusbar uinavigationbar ios

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

是否有必要在Objective-C类中添加dealloc方法?

如果创建了UIviewController子类,则会自动为您创建方法"dealloc".

- (void)dealloc{}
Run Code Online (Sandbox Code Playgroud)

但是,当我创建一个Objective-C类时,该方法不会自动创建.是否有必要添加dealloc方法以便我可以在类中释放属性?特别是如果我将它们保留在头文件中?

例如,在我的Objective-C类头文件中

@interface ClassA : NSObject 
{
    NSString *someProperty;
    UINavigationController *navcon;
}

@property (nonatomic, retain) NSString *someProperty;
@property (nonatomic, retain) UINavigationController *navcon;
Run Code Online (Sandbox Code Playgroud)

我是否需要手动创建dealloc方法以释放属性,如下所示?

-(void)dealloc
{
    [someProperty release];
    [navcon release];
}
Run Code Online (Sandbox Code Playgroud)

objective-c dealloc ios

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

如何设置RESTKIT对象管理器的超时间隔

我正在使用RESTKIT对象管理器从我的服务器获取信息.我的实现代码的片段如下:

-(void)getObjects
{
    //Instantiate the RestKit Object Manager
    RKObjectManager *sharedManager = [RKObjectManager sharedManager];

    //show the spinner
    [self showLoading];

    //call server with the resourcepath
    [sharedManager loadObjectsAtResourcePath:self.resourcePath delegate:self];
}

- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects 
{

    // handling in scenarios of empty arrays
    if ( [objects count]==0 ){
        [self hideLoading];
        if (emptyHandler){
            emptyHandler();
        }else{
            [self standardEmptyHandling];            
        }
        return;
    }

    // planned failure
    if ( [[objects objectAtIndex:0] isKindOfClass:[Failure class]]){
        NSAssert([objects count]==1,@"object returned is type failure, but there are more than one object in it");
        failureObject=[objects objectAtIndex:0]; …
Run Code Online (Sandbox Code Playgroud)

objective-c settimeout ios restkit

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

如何将图像URL保存到照片库,然后使用保存的图像

我正在为我的应用实施"在线图片搜索"功能.我需要的流程如下:

1)检索用户想要使用的图像URL

2)将图像(通过URL)保存到手机的相册中

3)通过图像选择器控制器检索保存的图像,并打开移动和缩放屏幕

4)使用从相册中检索的图像.

任何人都可以建议我在获取图像URL后如何执行上述步骤?

url image objective-c uiimagepickercontroller ios

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

如何确定视图是否已呈现?JavaScript的

我正在使用backbone.js创建我的应用程序

如下所示,我有一个layoutView,我用它来渲染布局,还有布局中的迷你配置文件.

我遇到的问题是时间问题.在触发'renderProfile'方法之前,我需要首先完成'render'方法.我怎样才能做到这一点?

Onethingaday.Views.Home ||= {}

class Onethingaday.Views.Home.LayoutView extends Backbone.View
  template: JST["backbone/templates/home/layout"]

  initialize: ->
    @options.user.bind('change',@render,@renderProfile, @)

  renderProfile: ->
    view = new Onethingaday.Views.Shared.MiniProfileView
      user: @options.user

    @$('.profile').html view.render().el

  render: ->
    $(@el).html(@template())
    @
Run Code Online (Sandbox Code Playgroud)

javascript jquery render timing backbone.js

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

如何更改分段控件的字体大小,并防止它在更改段后更改回默认大小

我使用以下代码实现并随后更改UISegmented控件中每个段的字体大小

//Set up segment control
UISegmentedControl *tempSegmentControl = [[UISegmentedControl alloc]initWithItems:[NSArray arrayWithObjects:@"Friends",@"Popular", nil]];
tempSegmentControl.frame = CGRectMake(-8, -1, 336, 30);

self.segmentControl = tempSegmentControl;
[self.segmentControl setWidth:168 forSegmentAtIndex:0];
[self.segmentControl setWidth:168 forSegmentAtIndex:1];
self.segmentControl.selectedSegmentIndex = 0;
[self.segmentControl addTarget:self action:@selector(toggleControls:) forControlEvents:UIControlEventValueChanged];
[self.segmentControl setSegmentedControlStyle:UISegmentedControlStylePlain];

//TO CHANGE FONT SIZE OF EACH SEGMENT
for (id segment in [self.segmentControl subviews]) 
{
    for (id label in [segment subviews]) 
    {
        if ([label isKindOfClass:[UILabel class]])
        {
            [label setTextAlignment:UITextAlignmentCenter];
            [label setFont:[UIFont boldSystemFontOfSize:14]];
        }
    }           
}
Run Code Online (Sandbox Code Playgroud)

这最初有效(见下面的截图)

在此输入图像描述

但是,在我单击"常用"选项卡(非活动选项卡)后,字体大小似乎返回到其原始默认字体大小

在此输入图像描述

我该怎么做才能防止字体大小变回默认大小?

objective-c font-size uisegmentedcontrol ios

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

在chrome vs firefox中CSS的呈现方式不同

在chrome中(注意,数据在灰色框中正确显示(左下角))

在此输入图像描述

然而在火狐中,统计数据位于方框下方(隐藏下半部分)

在此输入图像描述

我的CSS代码如下

.stats_section {
  position: relative;
  opacity: 0.7;
  height: 20px;
  margin-top: -31px;
  margin-left: 76px;
  margin-bottom: 10px;
  width: 24%;
}
Run Code Online (Sandbox Code Playgroud)

如何修复CSS以使其适用于两种浏览器?

css firefox google-chrome

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

如何重命名seachDisplayController以编程方式查看原始状态

我有UISearchDisplayController页面视图如下(原始状态)

在此输入图像描述

点击搜索栏并输入一些搜索词后,我会在表格中找到结果列表

在此输入图像描述

单击表中的条目后,将在堆栈顶部显示新的viewController

在此输入图像描述

我的意图是单击取消按钮(左上角),根视图将显示searchDisplay控制器的原始状态

在此输入图像描述

这就是我尝试过的

在我的取消方法中(当我点击左上方的取消按钮时触发)

- (void)cancel
{
  [self dismissViewControllerAnimated:YES completion:NULL];
  [self searchBarCancelButtonClicked:self.searchDisplayController.searchBar];
}
Run Code Online (Sandbox Code Playgroud)

在searchbar委托方法中我做到了这一点

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
    self.searchBar.showsCancelButton = NO;

    [self.searchBar resignFirstResponder];
    self.searchBar.text = @"";
    searchDisplayController.searchResultsTableView.hidden = YES;
    [self searchDisplayControllerWillEndSearch:self.searchDisplayController];
}
Run Code Online (Sandbox Code Playgroud)

点击取消按钮后,我设法实现的就是这个

在此输入图像描述

原始的tableview似乎缺失(仅当我点击页面时才会出现)

如何修改我的方法以将搜索恢复到其原始状态?

objective-c uisearchdisplaycontroller uisearchbardelegate

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

目标C:如何在应用程序启动时将静态数据存储到Core Data

我打算使用Core Data来存储由具有属性的对象组成的静态数据列表(例如object = person,attributes = weight,height等).

关于什么是最好的方法来建议?我应该使用什么原始文件格式以及将原始文件中的数据加载到核心数据的最佳方法是什么?

感谢任何建议和帮助

static core-data objective-c ios

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

活动指示器不在子视图的中心(与父视图的大小不同)

我试图使用下面的代码将微调器置于页面中间.

self.aSpinner.center = self.view.center;
Run Code Online (Sandbox Code Playgroud)

但是,当我运行程序时,微调器似乎不在中心

iPad模拟器的屏幕截图;  空白视图中的活动指示器到中心右侧

有没有什么办法解决这一问题?

编辑:

我发现了这个问题.并不是微调器不在中心,而是子视图的界限不同于超视图.

iPad模拟器的屏幕截图;  查看子视图和活动指示器到中心右侧

我在我的代码中做了类似的事情:

self.navcon = [[UINavigationController alloc]init];
self.photoViewTable = [[PhotoTableViewController alloc]init];
self.loadingPage = [[LoadingPageViewController alloc]init];

[self.photoViewTable.view addSubview:loadingPage.view];

[navcon pushViewController:photoViewTable animated:NO];
[self.window addSubview:navcon.view];
Run Code Online (Sandbox Code Playgroud)

如何将loadingPage视图大小设置为等于父视图?

cocoa-touch objective-c uiactivityindicatorview ios

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