好的。 我们遇到的问题是我们有NSString填充yyyyMMdd格式的date,我们想要做的是获得当前的工作日和月份的名称。 函数dagOmvandlare将datestring转换为工作日和月份。 然后函数调用viewDidload来命名我们所有的button标题从英语到瑞典的月份。 我们目前的解决scheme是这样的: -(NSString *)dagOmvandlare:(id) suprDatum{ NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; dateFormatter.dateFormat = @"yyyyMMdd"; NSDate *date = [dateFormatter dateFromString:suprDatum]; NSString * monthString = [date descriptionWithCalendarFormat:@"%B"timeZone:nil locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]]; if ([monthString isEqualToString:@"January"]) { monthString = @"Januari"; } else if ([monthString isEqualToString:@"February"]) { monthString = @"Februari"; } else if ([monthString isEqualToString:@"May"]) { monthString […]
正常情况下,当用户从细节视图中popup时, UITableView的选定行将被取消selectanimation。 但是,在我的情况下,我有一个UITableViewembedded到UIViewController我必须在viewWillAppear手动执行它,如下所示: -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; // For some reason the tableview does not do it automatically [self.tableView deselectRowAtIndexPath:self.tableView.indexPathForSelectedRow animated:YES]; } 为什么是这个以及如何解决?
我有一个自定义的UITableViewCell,它由以下初始化: – (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; self = [nibArray objectAtIndex:0]; [self setSelectionStyle:UITableViewCellSelectionStyleNone]; [self.downButton setBackgroundImage:[UIImage imageNamed:@"button"] forState:UIControlStateNormal]; [self.downButton setBackgroundImage:[UIImage imageNamed:@"buttonSelected"] forState:UIControlStateHighlighted]; } return self; } 该button显示正确,具有适当的背景图像,但按下/单击button时突出显示的图像不会立即显示。 相反,在发生变化之前,您必须将其保持一两秒钟。 另一方面,释放button确实会立即改变回原始的背景图像。 尝试减less切换到突出显示的图像时的迟缓更改,我将更改以下面的方法: – (IBAction)downDown:(id)sender { [self.downButton setBackgroundColor:[UIColor redColor]]; } 上面的方法设置为“Touch Down”(与更常见的“Touch Up Inside”相对),并且我已经移除了setBackgroundImage:forState:用于突出显示的状态。 […]
我试图让我的视图控制器之一的状态栏被隐藏(当模态显示)。 当我呈现视图控制器时,状态栏将被隐藏,然后被解散时返回。 我已经将下面的代码添加到呈现的视图控制器 – (BOOL)prefersStatusBarHidden { return YES; } 我还将Info.plist文件中的密钥设置为以下内容: <key>UIViewControllerBasedStatusBarAppearance</key> <true/> 根据我的理解,这应该是完成这项工作所需的一切。 我也使用自定义animation控制器来执行符合UIViewControllerAnimatedTransitioning协议的呈现。 在animateTransition:实现中,我试图手动调用prefersStatusBarHidden ,后面跟着setNeedsStatusBarAppearanceUpdate以确保调用正在进行,但状态栏仍然存在。 任何想法,为什么发生这将不胜感激。 我已经searchStackOverflow,但似乎没有人有这个问题,所有接受的答案指的是调用setNeedsStatusBarAppearanceUpdate ,我已经在做。 编辑 – 下面的代码现在似乎工作正常 – (void)animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext { if (self.isPresenting) { UIView *containerView = [transitionContext containerView]; UIViewController *fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]; UIViewController *toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]; toViewController.view.frame = containerView.frame; [containerView addSubview:toViewController.view]; // Ask the presented controller whether […]
我想重写使用ARC的ObjC类中的getter和setter。 .h文件 @property (retain, nonatomic) Season *season; .m文件 @synthesize season; – (void)setSeason:(Season *)s { self.season = s; // do some more stuff } – (Season *)season { return self.season; } 我在这里错过了什么?
是否有可能得到当前的滚动位置,或当前页面的<ScrollView>组件反应原生? 所以像这样: <ScrollView horizontal={true} pagingEnabled={true} onScrollAnimationEnd={() => { // get this scrollview's current page or x/y scroll position }}> this.state.data.map(function(e, i) { <ImageCt key={i}></ImageCt> }) </ScrollView>
我想做我自己的UIColors的RGB颜色,我可以使用就像UIColor blackColor或任何其他。
我有一个NSMutableArray拥有一堆对象,我想弄清楚array使用多less内存。 看了几个我知道的调用大小的地方,当我做到这一点,我得到32位(这是自己的NSMutableArray对象的大小)。 示例代码: NSMutableArray *temp = [[NSMutableArray alloc]init]; [temp addObject:objectxyz]; [temp addObject:objectabc]; [temp addObject:object123]; 现在我想知道大小:)
在Swift的NSManagedObject子类中,如何将对象添加到关系属性中? 在Objective-C中,当从数据模型生成Xcode中的NSManagedObject子类时,会自动生成类扩展,其中包含如下声明: @interface MyManagedObject (CoreDataGeneratedAccessors) – (void)addMySubObject: (MyRelationshipObject *)value; – (void)addMySubObjects: (NSSet *)values; @end 但是,Xcode目前缺lessSwift类的这个类生成能力。 如果我尝试直接在Swift对象上调用等价的方法: myObject.addSubObject(subObject) …我在方法调用中遇到编译器错误,因为这些生成的访问器不可见。 我已经将关系属性声明为@NSManaged ,如文档中所述。 还是必须恢复到具有关系的数据模型的Objective-C对象?
我想在我的iOS项目中使用CLLocationManager框架来访问用户的位置,但是当我打电话 [locationManager startUpdatingLocation] locationManager:didUpdateLocations:或locationManager:didFailWithError:都被调用。 //myViewController.h @interface myViewController : UITableViewController <CLLocationManagerDelegate> @end //myViewController.m @implementation myViewController{ CLLocationManager *locationManager; } //edit – (void)viewDidLoad { [super viewDidLoad]; locationManager = [[CLLocationManager alloc] init]; } //finish edit -(void)getLocation { locationManager.delegate = self; locationManager.desiredAccuracy = kCLLocationAccuracyBest; [locationManager startUpdatingLocation]; } – (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error { UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Failed […]