小编Dav*_*ter的帖子

以编程方式集中UIViews

我已经看到了一些类似的问题,但似乎没有什么是我正在寻找的.如果我错过了在另一个问题中回答的解决方案,请原谅我!

对.我有一个观点.160像素既高又宽.我知道这个视图将被用作子视图,我知道在任何使用它的情况下它总是需要以两个轴为中心.

如果以编程方式定义视图,我怎样才能确保它相对于超视图始终完全居中,水平和垂直?

到目前为止,我只有这个简单的代码:

- (void)loadView {
    self.view = [[UIView alloc] initWithFrame:CGRectMake(80, 150, 160, 160)];
    self.view.backgroundColor = [UIColor greenColor];
    self.view.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin);
    [self.view release];
}
Run Code Online (Sandbox Code Playgroud)

这可以实现集中化,但仅限于最简单的情况.非常感谢任何见解.

编辑1:

添加以下代码行:

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

子视图的中心点成为超级视图的(0,0)坐标.也许我还没有正确设置超视图?

iphone user-interface

31
推荐指数
2
解决办法
4万
查看次数

当点击取消按钮时,删除UISearchBar右侧的清除按钮(灰色x)

是的,开始我的问题,这里是Spotify应用程序已经解决的问题的一些屏幕:

Spotify的第1步:标准UISearchBar未处于编辑模式.

第1步http://i49.tinypic.com/wbtpwi.png

Spotify的第2步: UISearchBar现在处于编辑模式.已输入搜索字词.取消按钮从右侧滑入,出现清除按钮(灰色x).

第2步http://i45.tinypic.com/161kbvp.png

Spotify的第3步:按下取消按钮; 键盘滑出,搜索栏不再处于编辑模式.搜索项保持不变,灰色x按钮现在隐藏.

第3步http://i46.tinypic.com/20utv9v.png

目前,在下面的代码触发关按下取消按钮:

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
    [searchBar resignFirstResponder];
    [searchBar setShowsCancelButton:NO animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

结果如下:

我的第3步:搜索栏现在不处于编辑模式.取消按钮和键盘已滑出.搜索词仍然存在,但灰色x也是如此.

问题http://i46.tinypic.com/rlm4w5.png

所以,我的问题是:假设-resignFirstResponder(并且-endEditing:,FYI)在搜索栏输入文本时没有隐藏灰色x按钮,那么如何隐藏它?

再次感谢,朋友们.

iphone objective-c interface-builder ipad

23
推荐指数
4
解决办法
2万
查看次数

iPhone:在代码中的导航栏中添加信息按钮作为右侧栏按钮项

有没有人在代码中创建一个信息按钮(斜体'我'在一个圆圈中)成功(读取:没有Interface Builder),然后将其指定为导航栏的右侧栏按钮项?

我到处寻找,我甚至无法找到如何在代码中创建信息按钮.任何帮助将不胜感激.

iphone cocoa-touch ipad

15
推荐指数
2
解决办法
1万
查看次数

在符合协议的类中,在Objective-C协议中定义的重新声明/扩展typedef

我有一个Objective-C协议:

typedef enum {
    ViewStateNone
} ViewState;

@protocol ViewStateable

- (void)initViewState:(ViewState)viewState;
- (void)setViewState:(ViewState)viewState;

@end
Run Code Online (Sandbox Code Playgroud)

我在下面的课程中使用此协议:

#import "ViewStateable.h"

typedef enum {
    ViewStateNone,
    ViewStateSummary,
    ViewStateContact,
    ViewStateLocation
} ViewState;

@interface ViewController : UIViewController <ViewStateable> {

}

@end
Run Code Online (Sandbox Code Playgroud)

我不会深入了解我的应用程序的细节,但我在这里做的是typedef在协议中进行枚举,以便协议的方法可以获取该类型的输入值.

我希望在符合该协议的类中重新声明或扩展该typedef,以便每个类都可以拥有自己的视图状态.但是,我遇到了以下两个错误:

  1. Redeclaration of enumerator 'ViewStateNone'
  2. Conflicting types for 'ViewState'

我很惭愧地承认我对C(即typedefs)的了解并不广泛,我在这里尝试做的事情,首先是可能的,其次是明智的吗?

干杯啦.

c iphone typedef protocols objective-c

6
推荐指数
1
解决办法
6975
查看次数

iPhone在应用程序中购买慈善捐款

我正在为英国的注册慈善机构开发一个应用程序,并希望与您一起触摸基地,看看您是否有任何通过应用程序购买体验捐赠.

捐款可能包括预先定义的金额,例如:

  • £1
  • £5
  • £10
  • £50
  • £100

我的问题是:Apple允许在应用程序中购买捐款吗?我知道苹果公司希望尽管有慈善地位(毕竟他们还是邪恶的),但是,我的意思是,捐赠实际上是一种购买,没有任何实物或数字商品作为回报,所以这将是允许的在应用购买条款?

谢谢朋友.

iphone in-app-purchase ipad

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

Objective-C类别方法可用于子类?

我有以下类别:

@interface UIViewController (Additions)

- (void)exampleMethod;

@end

-----

#import "UIViewController+Additions.h"

@implementation UIViewController (Additions)

- (void)exampleMethod {
    NSLog(@"Example.");
}

@end
Run Code Online (Sandbox Code Playgroud)

我还有以下抽象类:

@interface DFAbstractViewController : UIViewController

@end

-----

#import "DFAbstractViewController.h"
#import "UIViewController+Additions.h"

@implementation DFAbstractViewController

@end
Run Code Online (Sandbox Code Playgroud)

这是具体的课程:

#import "DFAbstractViewController.h"

@interface DFConcreteViewController : DFAbstractViewController

@end

-----

#import "DFConcreteViewController.h"

@implementation DFConcreteViewController

- (void)viewDidLoad {
    [self exampleMethod];
}

@end
Run Code Online (Sandbox Code Playgroud)

好的.所以我的理解是具体类DFConcreteViewController可以使用从其超类中的类别导入的方法DFAbstractViewController.这是正确的,因为方法调用按预期工作.

问题是Xcode给了我以下警告:'DFConcreteViewController' may not respond to '-exampleMethod'.

我没有看到这个方法及其可用性如何DFConcreteViewController对编译器不完全清楚?也许我误解了类别的一些东西?

iphone objective-c categories ipad

2
推荐指数
1
解决办法
3438
查看次数