See below 3 table cells in the same application, the cell height is 54 in the interface builder, the border is created using CAShapeLayer in code with a height of 44. Since I switched from xcode5 to xcode6 during the project, so part of the uitableviewcell is created in xcode5 and goes into xcode6, and there are cells created in xcode5 and then modified in xcode6.
image1. created using xcode5, desired style 
image2. created using xcode6 beta6 displayed in iOS8 simulator, disclosure indicator inappropriate and text is biased 
image3. same image cell2 using xcode6 beta6 but working on iOS7.1 device, disclosure indicator inappropriate 
I compared all the settings of the uitableviewcell in the interface builder and did not find any differences.
And I compared the original xxx.storyboard file and finally got another point:
case1 : tableViewCell tag, xcode5 version:
<tableViewCell contentMode="scaleToFill" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="xxCell" rowHeight="54" id="far-Kn-fRP" customClass="xxCell"> <rect key="frame" x="0.0" y="119" width="320" height="54"/>
case2 : tableViewCell tag, xcode6 beta6 below, NOTICE, <rect key = "frame" ...> is missing when creating a new uitableviewcell
<tableViewCell contentMode="scaleToFill" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="xxxCell" rowHeight="54" id="eav-sl-Yrd" customClass="xxxCell">
case3 : the script in image2 and image3 is a uitableviewcell created in xcode5 with a default height of 44 and modified in xcode6 beta6 to change the height to 54, and the source:
<tableViewCell contentMode="scaleToFill" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="xxxCell" rowHeight="54" id="eav-sl-Yrd" customClass="xxxCell"> <rect key="frame" x="0.0" y="119" width="320" height="44"/>
As a conclusion, it seems that xcode6 beta6 does not process <rect key = "frame" ...> in the .storyboard file and will lead to improper use of uitableviewcell.
Added: in all the above scenarios, the code implemented heightForRowAtIndexPath and returned 54.
My questions are :
I did not find how to place the disclosure indicator in the same place as xcode5
Is there a <rect key = "frame" ...> error or is it replaced by other tags in xcode6? Perhaps related to the automatic cell detection feature in iOS8?
Are there any other solutions to make uitableviewcell right? I am currently manually modifying the .storyboard file to add <rect key = "frame" ...> for each newly created uitableviewcell using xcode6 beta6 and it is error prone.
Thanks.