UITextView 垂直显示在顶端

老外重新定义了UITextView支持了 垂直显示在顶端,用了感觉很好。分享下。下载地址在文章的最后,示例代码是写的一个意见反馈输入框。

#import “UITextView+VerticalAlignment.h”

    //

    msg =[[UITextView alloc] init];

    msg.frame = CGRectMake(10, 74, SCREENWIDTH-20, 150.0);

    msg.alignToTop;

    msg.text = @”您的宝贵意见将帮助我们不断改进;

    msg.backgroundColor = UIColorFromRGB(0xffffff);

    //msg.font = [UIFont fontWithName:@”Arial” size:14];

    msg.font = [UIFont systemFontOfSize:14];

    msg.delegate = self;

 

    msg.textColor = [UIColor lightGrayColor];

    msg.scrollEnabled = NO;//是否可以拖动

    [self.view addSubview:msg];

 

https://gist.github.com/toms972/8330377

在应用内展示App Store

在ios6.0前跳转到appstore评分一般是直接跳转到appstore评分
NSString *evaluateString = [NSString stringWithFormat:@”itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=587767923″];
   [[UIApplication sharedApplication] openURL:[NSURL URLWithString:evaluateString]];

在ios6.0,APPle增加了一个心得功能,当用户需要给APP评分时候,不再跳转到appstore了,可以在应用内实现打开appstore,苹果提供了一个框架StoreKit.framework,实现步骤如下:
1:导入StoreKit.framework,在需要跳转的控制器里面添加头文件#import

#import <StoreKit/StoreKit.h>

2:实现代理SKStoreProductViewControllerDelegate
3:- (void)evaluate{
  
   //初始化控制器
   SKStoreProductViewController *storeProductViewContorller = [[SKStoreProductViewController alloc] init];
   //设置代理请求为当前控制器本身
   storeProductViewContorller.delegate = self;
   //加载一个新的视图展示
   [storeProductViewContorller loadProductWithParameters:
    //appId唯一的
    @{SKStoreProductParameterITunesItemIdentifier : @”587767923″} completionBlock:^(BOOL result, NSError *error) {
        //block回调
       if(error){
           NSLog(@”error %@ with userInfo %@”,error,[error userInfo]);
       }else{
           //模态弹出appstore
           [self presentViewController:storeProductViewContorller animated:YES completion:^{
              
           }
            ];
       }
   }];
}

//取消按钮监听
– (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController{
   [self dismissViewControllerAnimated:YES completion:^{
      
   }];
}
就很轻松实现了应用内置appstore评分功能。

UISlider按段滑动

SMECP

@interface MyViewController : UIViewController {
    UISlider *slider;
    NSArray *numbers;
}
@end

@implementation MyViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    slider = [[UISlider alloc] initWithFrame:self.view.bounds];
    [self.view addSubview:slider];

    // These number values represent each slider position
    numbers = @[@(-3), @(0), @(2), @(4), @(7), @(10), @(12)];
    // slider values go from 0 to the number of values in your numbers array
    NSInteger numberOfSteps = ((float)[numbers count] - 1);
    slider.maximumValue = numberOfSteps;
    slider.minimumValue = 0;

    // As the slider moves it will continously call the -valueChanged: 
    slider.continuous = YES; // NO makes it call only once you let go
    [slider addTarget:self
               action:@selector(valueChanged:)
     forControlEvents:UIControlEventValueChanged];
}
- (void)valueChanged:(UISlider *)sender {
    // round the slider position to the nearest index of the numbers array
    NSUInteger index = (NSUInteger)(slider.value + 0.5);
    [slider setValue:index animated:NO];
    NSNumber *number = numbers[index]; // <-- This numeric value you want
    NSLog(@"sliderIndex: %i", (int)index);
    NSLog(@"number: %@", number);
}