UILabel如何在父view中垂直居中?

//这里的xywidth height要怎么写?

UILable *label = [[UILabel alloc] initWIthFrame:CGRectMake(x,y,width,height)] ;
[view.addSubView label];

还有对于不确定text长度的label如何设置width 啊

基于super view设置你这个label的frame.
比如你要让这个label再父view的正中间,直接设置center属性.
至于动态的高度,你可以通过计算string的size获得.

NSString *yourMsg = @"your message here";
CGSize labelSize = [yourMsg sizeWithFont:[UIFont systemFontOfSize:15.0] constrainedToSize:CGSizeMake(30, MAXFLOAT) lineBreakMode:NSLineBreakByCharWrapping];// 这里限制宽30, 不限制高度
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, labelSize.width, labelSize.height)];
label.text = yourMsg;
label.center = self.view.center;
UILable *label = [[UILabel alloc] initWIthFrame:CGRectMake(x,y,width,height)] ;

[view.addSubView label];
[label sizeToFit]
label.center = CGPointMake(view.bounds.size.width/2,...height/2)