UILabel没有自动换行

时间:2016-10-09 01:17:11

标签: ios swift uilabel

我有一个UILabel,我想以行为基础剪辑文本。或者,除非我离散地传入“\ n”

,否则它会换行的标签

以下是我目前正在使用的代码:

    let label = UILabel(frame: CGRect(x: 0, y: 0, width: 20, height: 200))
    label.numberOfLines = 0
    label.text = "ABCDEFGHIJKLMNOP" + "\n" + "1234567890123456789"
    label.lineBreakMode = // None seem to accomplish what I am looking for

因此,这将有一个标签,其中包含两行文本,每行都剪切文本的末尾。

这可以不用每行的子视图吗?

2 个答案:

答案 0 :(得分:0)

这是你正在寻找的一个非常有趣的要求。不幸的是,我不认为本机Apple支持“删除”自动换行的选项。您需要为每一行使用标签,使用.byTruncatingTail,并将numberOfLines限制为1(默认值)。不要使用0(来自apple的快速帮助:“要删除任何最大限​​制,并根据需要使用尽可能多的行,请将此属性的值设置为0”)。

您可能会通过CocoaPods / etc找到一些第三方代码。帮助加快它。

答案 1 :(得分:0)

我认为你应该这样做:

注意:Swift 3 Code。

<?php

defined('_JEXEC') or die;

/**
 * Helper for mod_users_usergroup
 *
 * @package     Joomla.Site
 * @subpackage  mod_users_usergroup
 *
 * @since       1.6
 */

class ModUsersUsergroupHelper
{

/**
 * Get users in a certain usergroup
 *
 * @param   \Joomla\Registry\Registry  $params  module parameters
 *
 * @return  array  The array of users
 *
 * @since   1.6
 */

public static function getUsers($params)
{

    $db         = JFactory::getDbo();

    $groupId    = $params->get('group', 2);

    $query      = $db->getQuery(true)
        ->select($db->quoteName(array('u.id', 'u.name', 'u.username', 'u.registerDate')))
        ->order($db->quoteName('u.registerDate') . ' DESC')
        ->from('#__users AS u')
        ->join('INNER', '#__user_usergroup_map AS ugm ON ugm.user_id = u.id')
        ->where('ugm.group_id =' . $db->quote($groupId));

    $db->setQuery($query, 0, $params->get('shownumber'));

    try
    {

        return (array) $db->loadObjectList();

    }

    catch (RuntimeException $e)
    {

        JFactory::getApplication()->enqueueMessage(JText::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error');

        return array();

            }

        }

}

输出应类似于:

enter image description here

希望这是您案件的一般解决方案。